sql >> Database >  >> NoSQL >> MongoDB

zoek de eerste van de documenten voor elke afzonderlijke waarde voor één veld

U moet een aggregatiebewerking uitvoeren die alle documenten groepeert op field3 en gebruik de $first accumulator met de $$ROOT systeemvariabele om het eerste document te brengen, zoiets als het volgende:

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

of voor een exacte output:

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


  1. mongodb cursor id niet geldig fout

  2. Zoeken op meerdere collecties in MongoDB

  3. MongoDB (server v 2.6.7) met C#-stuurprogramma 2.0:het resultaat krijgen van InsertOneAsync

  4. MongoDB vergelijkt alleen datums zonder tijden