sql >> Databáze >  >> NoSQL >> MongoDB

Odstraňte duplicitní dokumenty na základě pole

To je něco, co můžeme ve skutečnosti udělat pomocí agregačního rámce a bez zpracování na straně klienta.

MongoDB 3.4

db.collection.aggregate(
    [ 
        { "$sort": { "_id": 1 } }, 
        { "$group": { 
            "_id": "$asin", 
            "doc": { "$first": "$$ROOT" } 
        }}, 
        { "$replaceRoot": { "newRoot": "$doc" } },
        { "$out": "collection" }
    ]

)

Verze MongoDB <=3.2:

db.collection.aggregate(
    [ 
        { "$sort": { "_id": 1 } }, 
        { "$group": { 
            "_id": "$asin", 
            "doc": { "$first": "$$ROOT" } 
        }}, 
        { "$project": { 
            "asin": "$doc.asin", 
            "url": "$doc.url", 
            "image": "$doc.image", 
            "salesRank": "$doc.salesRank", 
            "title": "$doc.salesRank", 
            "brand": "$doc.brand", 
            "favourite": "$doc.favourite", 
            "createdAt": "$doc.createdAt", 
            "updatedAt": "$doc.updatedAt" 
        }},
        { "$out": "collection" }
    ]
)


  1. Spusťte skript prostředí mongodb pomocí ovladače C#

  2. Aktualizace podpole v dokumentu mongoDB pomocí findOne a uložení

  3. Angular Google Maps/NodeJS:Zobrazení značek z databáze

  4. Mongo dotaz na podpole