我喜歡使用MongoDB,但不能完全吞下它的非關係方面。據我從mongo用戶和文檔中可以看出:「沒關係,只是重複部分數據」。使MongoDB更'關係'
由於我很擔心縮放問題,基本上只是不記得更新部分代碼來更新數據的正確部分,所以當我的API有額外的查詢時,這似乎是一個很好的折衷方案與員額的簡要返回數據的用戶包括:
{
"id": 1,
"name": "Default user",
"posts_summary": [
{
"id": 1,
"name": "I am making a blog post",
"description": "I write about some stuff and there are comments after it",
"tags_count": 3
},
{
"id": 2,
"name": "This is my second post",
"description": "In this one I write some more stuff",
"tags_count": 4
}
]
}
...當職位數據看起來像下面這樣:
//db.posts
{
"id": 1,
"owner": 1,
"name": "I am making a blog post",
"description": "I write about some stuff and there are comments after it",
"tags": ["Writing", "Blogs", "Stuff"]
},
{
"id": 2,
"owner": 1,
"name": "This is my second post",
"description": "In this one I write some mores tuff",
"tags": ["Writing", "Blogs", "Stuff", "Whatever"]
}
所以後面的API,當查詢得到用戶成功了,我正在對posts集合進行額外的查詢以獲取「 posts_summary「我需要的數據,並在API發送響應之前添加它。
考慮到稍後將解決的問題,這似乎是一個很好的折衷。這是一些mongo用戶爲避免關係造成的,或者在設計我的模式時犯了錯誤嗎?