MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

नेवला - प्रत्येक उपयोगकर्ता से अंतिम संदेश खोजें

एकत्रीकरण ढांचे का उपयोग करें जहां आपके पाइपलाइन चरणों में $match , $sort , $group और $project भाव:

Message.aggregate(
    [
        // Matching pipeline, similar to find
        { 
            "$match": { 
                "to": req.user.username
            }
        },
        // Sorting pipeline
        { 
            "$sort": { 
                "created": -1 
            } 
        },
        // Grouping pipeline
        {
            "$group": {
                "_id": "$from",
                "message": {
                    "$first": "$message" 
                },
                "created": {
                    "$first": "$created" 
                }
            }
        },
        // Project pipeline, similar to select
        {
             "$project": { 
                "_id": 0,
                "from": "$_id",
                "message": 1,
                "created": 1
            }
        }
    ],
    function(err, messages) {
       // Result is an array of documents
       if (err) {
            return res.status(400).send({
                message: getErrorMessage(err)
            });
        } else {
            res.json(messages)
        }
    }
);

अगर req.user.username = "admin" , आपके नमूना संग्रह के साथ तो परिणाम है:

{
    "result" : [ 
        {
            "message" : "message4",
            "created" : "2015-04-01T11:59:21.005Z",
            "from" : "user2"
        }, 
        {
            "message" : "message5",
            "created" : "2015-04-01T11:59:29.971Z",
            "from" : "user1"
        }
    ],
    "ok" : 1
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो डीबी को एंड्रॉइड एप्लिकेशन से कैसे कनेक्ट करें

  2. कुल मिलाकर करते समय MongoDB गलत अनुक्रमणिका का चयन करता प्रतीत होता है

  3. पाइमोंगो एकत्रीकरण - एकत्रीकरण के लिए अजगर सूची पास करना

  4. java.lang.IllegalArgumentException:अपेक्षित अद्वितीय परिणाम या शून्य, लेकिन एक से अधिक प्राप्त हुए! - स्प्रिंग डेटा मोंगो

  5. मोंगो दस्तावेज़ से फ़िल्टरिंग वर्षमाह