इसके लिए $expr ऑपरेटर के साथ $or ऑपरेटर का उपयोग करें। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं, जिसमें से एक फ़ील्ड विवाहित है जिसमें गलत मान का सच है -
> db.orTwoFieldsDemo.insertOne({"isLiveInUS":true,"isMarried":false});{ "स्वीकृत" :true, "insertId" :ObjectId("5cdfd86abf3115999ed5120d")}> db.orTwoFieldsDemo.insertOne(Demo.insertOne(Demo.insertOne) {"isLiveInUS":true,"isMarried":true});{ "स्वीकृत" :true, "insertId" :ObjectId("5cdfd876bf3115999ed5120e")}> db.orTwoFieldsDemo.insertOne({"isLiveInUS":false,"isMarried" :false});{ "स्वीकृत" :सच, "insertId" :ObjectId("5cdfd87dbf3115999ed5120f")}
खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -
> db.orTwoFieldsDemo.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5cdfd86abf3115999ed5120d"), "isLiveInUS" :true, "ismarried" :false }{ "_id" :ObjectId("5cdfd876bf3115999ed5120e"), "isLiveInUS" :true, "isMarried" }{ "_id" :ObjectId("5cdfd87dbf3115999ed5120f"), "isLiveInUS" :false, "ismarried" :false }
दो फ़ील्ड में FALSE दोनों मानों से बचने के लिए क्वेरी निम्नलिखित है और केवल TRUE वाले फ़ील्ड प्रदर्शित करें या TRUE या किसी अन्य FALSE के साथ फ़ील्ड में से एक इसके विपरीत -
> db.orTwoFieldsDemo.find({ $expr:{ $or:[ "$isLiveInUS", "$isMarried" ] }});
यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5cdfd86abf3115999ed5120d"), "isLiveInUS" :true, "ismarried" :false }{ "_id" :ObjectId("5cdfd876bf3115999ed5120e"), "isLiveInUS" :true, "isMarried" }पूर्व>