Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में क्वेरी परिणामों को वेरिएबल में पुश करें

MongoDB एग्रीगेशन परिणाम को वेरिएबल में स्टोर करना

इसके लिए aggregate() का उपयोग करें।

कलेक्शन बनाना

> db.demo142.insertOne({"Value":50});
{ "acknowledged": true, "insertedId": ObjectId("5e32e9c6fdf09dd6d08539b2") }
> db.demo142.insertOne({"Value":45});
{ "acknowledged": true, "insertedId": ObjectId("5e32e9cafdf09dd6d08539b3") }
> db.demo142.insertOne({"Value":60});
{ "acknowledged": true, "insertedId": ObjectId("5e32e9cdfdf09dd6d08539b4") }
> db.demo142.insertOne({"Value":55});
{ "acknowledged": true, "insertedId": ObjectId("5e32e9d0fdf09dd6d08539b5") }
> db.demo142.insertOne({"Value":50});
{ "acknowledged": true, "insertedId": ObjectId("5e32e9d9fdf09dd6d08539b6") }

सभी डॉक्यूमेंट्स

> db.demo142.find();
{ "_id": ObjectId("5e32e9c6fdf09dd6d08539b2"), "Value": 50 }
{ "_id": ObjectId("5e32e9cafdf09dd6d08539b3"), "Value": 45 }
{ "_id": ObjectId("5e32e9cdfdf09dd6d08539b4"), "Value": 60 }
{ "_id": ObjectId("5e32e9d0fdf09dd6d08539b5"), "Value": 55 }
{ "_id": ObjectId("5e32e9d9fdf09dd6d08539b6"), "Value": 50 }

एग्रीगेशन परिणाम को वेरिएबल में स्टोर करना

> var query = db.demo142.aggregate(
    { "$group": { "_id": null, "MaxValue": { "$max": "$Value" } } }
);
> var largestValue = query.toArray()[0]["MaxValue"];
> printjson(largestValue);

परिणाम

60

व्याख्या

  1. aggregate(): कर्सर लौटाता है, तत्काल परिणाम नहीं
  2. $group: _id: null का अर्थ है सभी डॉक्यूमेंट्स को एक ग्रुप में रखना
  3. $max: Value फील्ड का अधिकतम मान ढूंढता है
  4. toArray(): कर्सर को ऐरे में बदलता है
  5. [0]["MaxValue"]: पहले (और एकमात्र) परिणाम से MaxValue निकालता है

सरल विकल्प

// findOne के साथ सॉर्ट
var maxDoc = db.demo142.findOne({}, { sort: { Value: -1 } });
var largestValue = maxDoc.Value;

यह सरल मामलों के लिए अधिक कुशल है क्योंकि यह इंडेक्स का उपयोग कर सकता है।

  1. - MongoDB में LIMIT के साथ क्वेरी करना

    MongoDB में limit() मेथड का उपयोग करके परिणाम सीमित करना MongoDB में क्वेरी परिणामों की संख्या सीमित करने के लिए limit() मेथड का उपयोग करें। यह पेजिनेशन और प्रदर्शन के लिए महत्वपूर्ण है। उदाहरण: संग्रह और दस्तावेज़ बनाना > db.demo58.insertOne({Name:David}); { acknowledged : true, insertedId : Ob

  1. - MongoDB में ऐरे में पुश नहीं कर सकते?

    MongoDB में ऐरे में पुश करने के लिए $push ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo445.insertOne({"ListOfFriends":["Robert","Mike","Sam","Carol","David","Mike"]}); {    "acknowledge

  1. - MongoDB में केस-इनसेंसिटिव खोज

    केस-इनसेंसिटिव खोज के लिए, find() मेथड में regex का उपयोग करें। सिंटैक्स निम्न है: db.demo572.find({yourFieldName : { $regex:/^yourValue$/i}}); उपरोक्त सिंटैक्स को समझने के लिए, आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo572.insertOne({CountryName:US}); { acknowledged : true, insertedI