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

明確な基準で最後のドキュメントを取得する

    集約フレームワークを使用してこれを実現できます:

     db.collection.aggregate(
              [
                 {$match:
                      {action:'entry'}
                 },
                 {$group:
                      {_id:'$name',
                       first:
                             {$max:'$timestamp'}
                      }
                 }
              ])
    

    結果に他のフィールドを含める可能性が高い場合は、 $first<を使用できます。 / a> オペレーター

     db.collection.aggregate(
              [
                 {$match:
                      {action:'entry'}
                 },
                 {$sort:
                      {name:1, timestamp:-1}
                 },
                 {$group:
                      {_id:'$name',
                       timestamp: {$first:'$timestamp'},
                       otherField: {$first:'$otherField'},
                      }
                 }
              ])
    


    1. MongoDB:ネストされた配列にサブ配列が含まれているかどうかの確認

    2. MongoDBは、比較操作を使用してsudocumentsから個々のカウントを取得します

    3. MongoDB複合インデックスの使用法

    4. 別のフィールドの値を使用してMongoDBフィールドを更新します