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

マングースで重複するドキュメントを確認するにはどうすればよいですか?

    同一のリストを取得したい場合(_idを除く) フィールド、明らかに)コレクション内のドキュメント。これを行う方法は次のとおりです。

    collection.aggregate({
        $project: {
            "_id": 1, // keep the _id field where it is anyway
            "doc": "$$ROOT" // store the entire document in the "doc" field
        }
    }, {
        $project: {
            "doc._id": 0 // remove the _id from the stored document because we do not want to compare it
        }
    }, {
        $group: {
            "_id": "$doc", // group by the entire document's contents as in "compare the whole document"
            "ids": { $push: "$_id" }, // create an array of all IDs that form this group
            "count": { $sum: 1 } // count the number of documents in this group
        }
    }, {
        $match: {
            "count": { $gt: 1 } // only show what's duplicated
        }
    })
    

    集計フレームワークの場合と同様に、すべてのステップをコメントアウトしてから、ステージごとにすべてを再度アクティブ化することで、各ステップで何が起こっているのかを正確に理解することができます。




    1. モンゴエンジンの遅延は、select_related()を使用した後に発生します

    2. RedisがサポートするASP.NETSessionStateプロバイダー

    3. MongoDBとMongooseで全文検索を実行するための最良の方法

    4. Redisでロールバックを使用してトランザクションを実装する方法