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

Mongodbのサブドキュメントから最新のレコードを返す

    MongoDBのクエリは、サブドキュメント(または、あなたの場合のように、サブドキュメントのサブドキュメント)を返しません。それらは一致し、コレクション内のドキュメントを返します。ドキュメントの形状は投影によって少し変更できますが、制限があります。最新のタグを一般的に見つけたい場合は、ドキュメントがタグを表すようにすることをお勧めします。配列に配列を含めることは、MongoDBでも一般的に悪い考えです。

    これが一般的でない操作であり、特に高速である必要がない場合は、集計を使用できます。

    db.modules.aggregate([
        { "$unwind" : "$svn_branches" },
        { "$unwind" : "$svn_branches.tags" },
        { "$sort" : { "svn_branches.tags.updated_at" : -1 } },
        { "$group" : { "_id" : "$_id", "latest_tag" : { "$first" : "$svn_branches.tags" } } }
    ])
    


    1. MongoDBクエリの結果を内部配列サイズで並べ替えるにはどうすればよいですか?

    2. モンゴスロートポロジは、1つの接続後に破壊されました

    3. WiredTigerでMongoDbドキュメントに対して部分的な更新を実行すると、完全なドキュメント更新よりも利点がありますか?

    4. Mongoレプリカセットの歪んだ読み取り負荷