MongoDB में $gt और $lt के संयोजन से रेंज क्वेरी करना
MongoDB में एक फील्ड पर एकाधिक तुलना शर्तें (रेंज) लागू करने के लिए $gt और $lt ऑपरेटर्स को एक ही ऑब्जेक्ट में संयोजित करें।
उदाहरण: संग्रह और दस्तावेज़ बनाना
> db.demo59.insertOne({"Values":50});
{ "acknowledged" : true, "insertedId" : ObjectId("5e286286cfb11e5c34d89923") }
> db.demo59.insertOne({"Values":10});
{ "acknowledged" : true, "insertedId" : ObjectId("5e286288cfb11e5c34d89924") }
> db.demo59.insertOne({"Values":58});
{ "acknowledged" : true, "insertedId" : ObjectId("5e28628ccfb11e5c34d89925") }
> db.demo59.insertOne({"Values":78});
{ "acknowledged" : true, "insertedId" : ObjectId("5e28628fcfb11e5c34d89926") }
सभी दस्तावेज़ देखना
> db.demo59.find();
आउटपुट:
{ "_id" : ObjectId("5e286286cfb11e5c34d89923"), "Values" : 50 }
{ "_id" : ObjectId("5e286288cfb11e5c34d89924"), "Values" : 10 }
{ "_id" : ObjectId("5e28628ccfb11e5c34d89925"), "Values" : 58 }
{ "_id" : ObjectId("5e28628fcfb11e5c34d89926"), "Values" : 78 }
रेंज क्वेरी (51 से 70 के बीच मान)
> db.demo59.find({Values:{$gt:51, $lt:70}});
आउटपुट:
{ "_id" : ObjectId("5e28628ccfb11e5c34d89925"), "Values" : 58 }
व्याख्या:
$gt: 51- मान 51 से बड़ा होना चाहिए$lt: 70- मान 70 से छोटा होना चाहिए- दोनों शर्तें एक ही फील्ड ऑब्जेक्ट में हैं - यह AND लॉजिक है
- केवल 58 ही दोनों शर्तों को पूरा करता है
वेरिएशन:
- समावेशी रेंज:
{$gte: 50, $lte: 70}(50 और 70 शामिल) - अलग-अलग फील्ड्स पर शर्तें:
{$and: [{field1: {$gt: 10}}, {field2: {$lt: 100}}]}
प्रदर्शन टिप: रेंज क्वेरी के लिए फील्ड पर इंडेक्स बनाएं: db.demo59.createIndex({"Values": 1})