MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Мангуста - Как да групирате и попълвате?

Пример за използване на $lookup populate, търсенето се попълва като масив, оттук и $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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. „upsert“ във вграден документ

  2. Монго подреждане по дължина на масива

  3. Как да използвам агрегирането на MongoDB за пагинация?

  4. Анализиране на бавни заявки в MongoDB

  5. Docker:променете папката, където да съхранявате томовете на docker