MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana menemukan dokumen mongo dengan bidang yang sama

Anda dapat menemukan duplikat menggunakan Kerangka Agregasi dan $group .

Contoh penyiapan data:

// Batch insert some test data
db.mycollection.insert([
    {a:1, b:2, c:3},
    {a:1, b:2, c:4},
    {a:0, b:2, c:3},
    {a:3, b:2, c:4}
])

Kueri agregasi:

db.mycollection.aggregate(
    { $group: { 
        // Group by fields to match on (a,b)
        _id: { a: "$a", b: "$b" },

        // Count number of matching docs for the group
        count: { $sum:  1 },

        // Save the _id for matching docs
        docs: { $push: "$_id" }
    }},

    // Limit results to duplicates (more than 1 match) 
    { $match: {
        count: { $gt : 1 }
    }}
)

Contoh keluaran:

{
    "result" : [
        {
            "_id" : {
                "a" : 1,
                "b" : 2
            },
            "count" : 2,
            "docs" : [
                ObjectId("5162b2e7d650a687b2154232"),
                ObjectId("5162b2e7d650a687b2154233")
            ]
        }
    ],
    "ok" : 1
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Urutkan berdasarkan bidang yang ada dan kemudian menurut abjad

  2. Berapa $min MongoDB? Apa bedanya dengan find().sort({the_field:1}).limit(1)?

  3. MongoDB temukan di semua properti dokumen

  4. Mengumumkan ClusterControl 1.7.1:Dukungan untuk PostgreSQL 11 dan MongoDB 4.0, Pemantauan yang Ditingkatkan

  5. Mengevaluasi kompleksitas kueri agregasi MongoDB:biaya $lookup