MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mongoose - Jak grupować i wypełniać?

Przykład z użyciem $lookup zapełnianie, wyszukiwanie zapełnia się jako tablica, stąd $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. używa czasu utworzenia mongodb ObjectId

  2. Porównanie mangusty _id i strings

  3. Wiele zliczeń z jednym zapytaniem w mongodb

  4. Bezagentowe monitorowanie bazy danych za pomocą ClusterControl

  5. MongoDb — Zmień typ z Int na Double