MongoDB में एक या अधिक फील्ड्स पर दस्तावेज़ फ़िल्टर करने के लिए, find() के साथ क्वेरी ऑब्जेक्ट का उपयोग करें। कई शर्तों को संयोजित करने के लिए $or, $and का उपयोग करें।
उदाहरण: नाम और देश वाले दस्तावेज़
> db.demo371.insertOne({"Name":"David","CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57f6982ae06a1609a00af2") }
> db.demo371.insertOne({"Name":"John","CountryName":"UK"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57f69e2ae06a1609a00af3") }
> db.demo371.insertOne({"Name":"Bob","CountryName":"AUS"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57f6a42ae06a1609a00af4") }
> db.demo371.insertOne({"Name":"Mike","CountryName":"US"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e57f6ba2ae06a1609a00af5") }
सभी दस्तावेज़ देखना
> db.demo371.find();
आउटपुट: चार दस्तावेज़।
क्वेरी: Name="David" OR CountryName="UK"
> db.demo371.find({ $or: [ { Name: "David" }, { CountryName: "UK" } ] });
आउटपुट:
{ "_id" : ObjectId("5e57f6982ae06a1609a00af2"), "Name" : "David", "CountryName" : "US" }
{ "_id" : ObjectId("5e57f69e2ae06a1609a00af3"), "Name" : "John", "CountryName" : "UK" }
अन्य सामान्य ऑपरेटर
| ऑपरेटर | उद्देश्य | उदाहरण |
|---|---|---|
$and | सभी शर्तें पूरी होनी चाहिए | {$and:[{Name:"David"},{CountryName:"US"}]} |
$or | कोई भी शर्त पूरी होनी चाहिए | {$or:[{Name:"David"},{CountryName:"UK"}]} |
$in | फील्ड मान सरणी में है | {CountryName:{$in:["US","UK"]}} |
$nin | फील्ड मान सरणी में नहीं है | {CountryName:{$nin:["AUS"]}} |
$gt/$lt | संख्या/तारीख तुलना | {Age:{$gt:25}} |
प्रोजेक्शन (केवल चयनित फील्ड लौटाएं)
> db.demo371.find({$or:[{Name:"David"},{CountryName:"UK"}]}, {_id:0, Name:1});
केवल Name फील्ड लौटाता है।