sql >> Database teknologi >  >> NoSQL >> MongoDB

find det første af dokumenter for hver enkelt værdi for et felt

Du skal køre en samlet handling, der grupperer alle dokumenter efter felt3 og brug $first akkumulator med $$ROOT systemvariabel for at bringe det første dokument, noget i stil med følgende:

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

eller for et nøjagtigt output:

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


  1. MongoDB $setEquals

  2. hvordan man kontrollerer, om et felt findes i et specifikt dokument Mongodb ved hjælp af C#?

  3. hvordan man gemmer behandlede data fra hdfs ved hjælp af mapReduce i mongoDB som output

  4. Redis butiksnøgle uden en værdi