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

najít první z dokumentů pro každou odlišnou hodnotu pro jedno pole

Musíte spustit agregační operaci, která seskupí všechny dokumenty podle pole3 a použijte $first akumulátor s $$ROOT systémová proměnná, která přinese první dokument, něco jako:

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

nebo pro přesný výstup:

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


  1. Spring Data Mongo - použijte jedinečná kombinační pole ve vloženém dokumentu

  2. připojení k Mongodb uvnitř dockeru s mongodb kompasem GUI

  3. Zrušit již prováděnou úlohu v Python RQ?

  4. Co dělá konfigurační volba --bindip v mongodb?