sql >> Database >  >> NoSQL >> MongoDB

Mongoose - Hoe groeperen op en bevolken?

Voorbeeld met $lookup populate, lookup wordt ingevuld als een array, vandaar de $unwind.

Message.aggregate(
    [
        { "$match": { "to": user } },
        { "$sort": { "date": 1 } },
        { "$group": { 
            "_id": "from",
            "to": { "$first": "$to" },
            "message": { "$first": "$message" },
            "date": { "$first": "$date" },
            "origId": { "$first": "$_id" }
        }},
        { "$lookup": {
             "from": "users",
             "localField": "from",
             "foreignField": "_id",
             "as": "from"
        }},
        { "$lookup": {
             "from": "users",
             "localField": "to",
             "foreignField": "_id",
             "as": "to"
        }},
        { "$unwind": { "path" : "$from" } },
        { "$unwind": { "path" : "$to" } }
    ],
    function(err,results) {
        if (err) throw err;
        return results;
    }
)


  1. Tijdscomplexiteit van zadd wanneer de waarde een hogere score heeft dan de hoogste score in de beoogde gesorteerde set

  2. Geneste gegevens van MongoDB in een gegevensframe van Panda's krijgen

  3. Een woordenboek opslaan en ophalen met redis

  4. Hoe maak je een mangoest-schema dynamisch?