MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Usuń duplikaty dokumentów na podstawie pola

To jest coś, co możemy zrobić za pomocą struktury agregacji i bez przetwarzania po stronie klienta.

MongoDB 3.4

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

)

MongoDB wersja <=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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak pobrać różne klucze wewnątrz obiektu w MongoDB?

  2. Jak zainicjować bazę danych mongo za pomocą docker-compose?

  3. Warunkowa suma $ w MongoDB

  4. Angular2 ExpressJs - Przesyłanie plików na serwer

  5. Którą bazę danych (Cassandra, MongoDB, ?) wybrać do przechowywania i odpytywania danych o zdarzeniach / dziennikach / metrykach?