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

MongoDB में 50 से बड़े मानों का ऐरे प्राप्त करना

MongoDB में $gt और $in ऑपरेटर्स का उपयोग करके मानों को फ़िल्टर करना

MongoDB में विशिष्ट शर्तों को पूरा करने वाले दस्तावेज़ों के _id मानों का ऐरे प्राप्त करने के लिए distinct() के साथ $gt और $in ऑपरेटर्स का संयोजन उपयोग करें।

उदाहरण: संग्रह और दस्तावेज़ बनाना

> db.demo50.save({"Value":40});
WriteResult({ "nInserted" : 1 })
> db.demo50.save({"Value":100});
WriteResult({ "nInserted" : 1 })
> db.demo50.save({"Value":20});
WriteResult({ "nInserted" : 1 })
> db.demo50.save({"Value":510});
WriteResult({ "nInserted" : 1 })

सभी दस्तावेज़ देखना

> db.demo50.find();

आउटपुट:

{ "_id" : ObjectId("5e270c02cfb11e5c34d89903"), "Value" : 40 }
{ "_id" : ObjectId("5e270c05cfb11e5c34d89904"), "Value" : 100 }
{ "_id" : ObjectId("5e270c07cfb11e5c34d89905"), "Value" : 20 }
{ "_id" : ObjectId("5e270c11cfb11e5c34d89906"), "Value" : 510 }

50 से बड़े मानों वाले दस्तावेज़ों के _id प्राप्त करना

> listOfValues = db.demo50.distinct("_id", {Value:{$gt:50}});
[ ObjectId("5e270c05cfb11e5c34d89904"), ObjectId("5e270c11cfb11e5c34d89906") ]
> db.demo50.find({_id:{$in:listOfValues}});

आउटपुट:

{ "_id" : ObjectId("5e270c05cfb11e5c34d89904"), "Value" : 100 }
{ "_id" : ObjectId("5e270c11cfb11e5c34d89906"), "Value" : 510 }

व्याख्या:

  1. distinct("_id", {Value:{$gt:50}}) - उन दस्तावेज़ों के _id मानों का ऐरे लौटाता है जहां Value > 50
  2. {_id:{$in:listOfValues}} - उन _id मानों से मेल खाने वाले पूर्ण दस्तावेज़ प्राप्त करता है

बेहतर विकल्प (सीधी क्वेरी):

db.demo50.find({Value: {$gt: 50}})

यह सीधे वही परिणाम देता है बिना दो-चरणीय प्रक्रिया के।

  1. - MongoDB में Document से Array Value Delete करना

    Array values delete करने के लिए MongoDB में $pull का उपयोग करें। $pull operator existing array से उन सभी instances को remove करता है जो specified condition से match करते हैं। Collection बनाना > db.demo535.insertOne( ... { ... studentId : 101, ... studentName : Chris, ... ListOfMailIds : [

  1. - MongoDB: ऐरे वैल्यूज के आधार पर दस्तावेजों को मैच करें जो विशिष्ट मान से अधिक हों

    आप $elemMatch का उपयोग कर सकते हैं। $elemMatch ऑपरेटर उन दस्तावेजों से मेल खाता है जिनमें एक ऐरे फील्ड होता है जिसमें कम से कम एक एलिमेंट होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo701.insertOne({ListOfValues:[100,200,300]}); { a

  1. - PHP में एरे से रैंडम वैल्यू कैसे प्राप्त करें?

    PHP में एरे से रैंडम वैल्यू प्राप्त करने के लिए, कोड इस प्रकार है: उदाहरण: सिंगल रैंडम वैल्यू 125 ); echo Array values ...\n; echo Value 1 = . $arr[p], \n; echo Value 2 = . $arr[q], \n; echo Value 3 = . $arr[r], \n; echo Value 4 = . $arr[s], \n; echo Value 5 = . $arr[t], \n; echo Value 6 =