私はMongoDBを好きですが、その非リレーショナルな側面を呑み込むことはできません。私がmongoのユーザとドキュメントから伝えることができる限りは、「あなたのデータの一部を複製するだけでいいです。MongoDBをもっと「リレーショナル」にする
スケーリングについて心配しており、基本的にデータの正しい部分を更新するためにコードの一部を更新することを覚えていないので、APIがあるときに余分なクエリを行うだけのトレードオフのようです記事の要約を持つユーザーのためのデータを返すために含ま:クエリが取得する際、APIの後ろだから、
//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"]
}
:ポストデータは以下のようになります
{
"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
}
]
}
を...ユーザーは成功し、私は投稿コレクションに追加のクエリを行って " posts_summary "データを取得し、APIが応答を送信する前に追加します。
これは後で解決する問題を考慮して、良いトレードオフのようです。これは、mongoユーザーの中には、リレーショナルでないものを回避するために何かするのですか、あるいはスキーマを設計するときに間違いを犯したのですか?