私はMySQLにもっと慣れていますが、私はこのプロジェクトでMongoDBに行くことにしました。 基本的にはソーシャルネットワークです。MongoDBコレクション - どちらの方が効率的でしょうか?
私はドキュメントが現在のようになりポストコレクションがあります。
{
"text": "Some post...",
"user": "3j219dj21h18skd2" // User's "_id"
}
を私が回答システムを実装するために探しています。単純にそうように、ユーザーが好きなの配列を追加した方がよいでしょう:
{
"text": "Some post...",
"user": "3j219dj21h18skd2", // User's "_id"
"replies": [
{
"user": "3j219dj200928smd81",
"text": "Nice one!"
},
{
"user": "3j219dj2321md81zb3",
"text": "Wow, this is amazing!"
}
]
}
それとも全体の別々の各応答のためのユニークIDと「回答」のコレクション、そして「リンク」を持っている方が良いでしょう投稿コレクションのIDでそれに?
私は確信していませんが、第1の方法は「NoSQL」のように感じられ、第2の方法はMySQLに行く方法です。
任意の入力を歓迎します。
お返事ありがとうございます。実際には私はIDを保存して、 "ユーザー"コレクションから(プログラムで)IDを取得して名前を表示するだけです。私は別のコレクション内のドキュメントにプロパティ値をバインドする方法はないと思います。非リレーショナルなのでです。右? –
はい、そうです。しかし、NoSQLのデータモデリングのために、ユーザIDを持つユーザの名前を格納することを妨げるものは何もありません。ユーザーコレクションが更新されたときにその名前をプログラムで更新すると、2番目のテーブルの名前を参照する必要がなくなり、人生を愛することになります。もちろん、SQLサーバーで必要なのは結合ですが、データを埋め込むことで、ユースケースに合わせてその利点が示されます。 – Tiramisu