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

1つのフィールドの個別の値ごとに最初のドキュメントを検索する

    すべてのドキュメントをfield3でグループ化する集計操作を実行する必要があります $first<を使用します/ code> $$ROOT 次のような最初のドキュメントを取得するためのシステム変数:

    db.myCollection.aggregate([
        {
            "$group": {
                "_id": "$field3",
                "doc": { "$first": "$$ROOT" }
            }
        }
    ])
    

    または正確な出力の場合:

    db.myCollection.aggregate([
        {
            "$group": {
                "_id": "$field3",
                "field1": { "$first": "$field1" },
                "field2": { "$first": "$field2" }
            }
        },
        {
            "$project": {
                "_id": 0,
                "field3": "$_id",
                "field2": 1,
                "field1": 1
            }
        }
    ])
    


    1. mongoDB。読み取り、oplogに基づいてタイムスタンプを検索

    2. Mongodb(code =exited、status =14)は失敗しましたが、明確なエラーはありません

    3. MongoドキュメントからYearMonthをフィルタリングする

    4. 存在しない場合は挿入する方法、そうでない場合はmongoengineで更新する方法は?