एक नियमित .find
$mod
के साथ क्वेरी करें
ऑपरेटर यहां काम नहीं करेगा, लेकिन फिर भी, आप एग्रीगेशन फ्रेमवर्क और $redact
ऑपरेटर और $mod
अंकगणितीय एकत्रीकरण ऑपरेटर।
मान लीजिए कि हमारे संग्रह में निम्नलिखित दस्तावेज हैं:
{ "_id" : ObjectId("573f624b4c01ce47a183a632"), "a" : 4 },
{ "_id" : ObjectId("573f63494c01ce47a183a634"), "a" : 12 },
{ "_id" : ObjectId("573f63504c01ce47a183a635"), "a" : 6 },
{ "_id" : ObjectId("573f63504c01ce47a183a636"), "a" : 24 }
निम्नलिखित क्वेरी उन सभी दस्तावेज़ों को लौटाती है जहाँ 60
फ़ील्ड का मान मॉड्यूलो a
बराबर 0
।
db.collection.aggregate([
{ "$redact": {
"$cond": [
{ "$eq": [ {"$mod": [ 60, "$a" ] }, 0 ] },
"$$KEEP",
"$$PRUNE"
]
}}
])
जो उत्पादन करता है:
{ "_id" : ObjectId("573f624b4c01ce47a183a632"), "a" : 4 }
{ "_id" : ObjectId("573f63494c01ce47a183a634"), "a" : 12 }
{ "_id" : ObjectId("573f63504c01ce47a183a635"), "a" : 6 }
इसे करने का एक और शायद कम कारगर तरीका है, $where
ऑपरेटर।
db.collection.find("60 % this.a === 0")