sql >> データベース >  >> NoSQL >> MongoDB

Mongo / RectiveMongoのリストから参照される値を保存/取得するための最良の方法は?

    私は少し前にこの正確な問題に取り組みました。

    mongoには結合はありません。手動で結合を処理する必要があります。

    オプションは次のとおりです。

    1. 各コメントエントリをループして、ユーザーのmongoをクエリします。これがあなたがしていることです。
    2. コメントからすべてのユーザーIDを取得し、これらのIDに一致するユーザーをmongoに照会してから、ユーザーとコメントを一致させるように注意してください。これは、あなたが行ったことと同じですが、もう少し最適化されています。
    3. コメントまたはユーザーのコメントにユーザーを埋め込みます。これはお勧めしません。おそらくコメントやユーザーにとって適切な場所ではありません。
    4. コメントを表示するときにユーザーからどのようなデータセットが必要かを考え、この情報だけをコメントに埋め込みます

    最終的に最後のオプションを選択しました。
    各コメントにユーザーID、姓名を埋め込みました。この情報が変更される可能性はほとんどありません(作成後に変更することさえ許可されていない可能性がありますか?)。
    変更できるので、update-userメソッドを調整して、関連するコメントを新しい情報で更新するのはそれほど難しくありません(これも行いました)。
    したがって、結合は必要ありません。




    1. MongoDBストアドプロシージャと同等

    2. アイテム数によるRedisポップリストアイテム

    3. 存在しないフィールドとインデックスを持つレコードのMongoDBクエリ

    4. MongoDB:警告のログ記録を無効にする方法:ClientCursor ::staticYieldは再帰ロックのb/cのロックを解除できませんか?