MongoDB के 3.2 रिलीज़ से शुरू करके, आप $sample
का उपयोग करके संग्रह से N यादृच्छिक दस्तावेज़ प्राप्त कर सकते हैं एकत्रीकरण पाइपलाइन ऑपरेटर:
// Get one random document from the mycoll collection.
db.mycoll.aggregate([{ $sample: { size: 1 } }])
यदि आप संग्रह के फ़िल्टर किए गए सबसेट से यादृच्छिक दस्तावेज़ (दस्तावेज़ों) का चयन करना चाहते हैं, तो एक $match
तैयार करें पाइपलाइन के लिए चरण:
// Get one random document matching {a: 10} from the mycoll collection.
db.mycoll.aggregate([
{ $match: { a: 10 } },
{ $sample: { size: 1 } }
])
जैसा कि टिप्पणियों में बताया गया है, जब size
1 से अधिक है, लौटाए गए दस्तावेज़ नमूने में डुप्लिकेट हो सकते हैं।