MongoDB से रैंडम रिकॉर्ड प्राप्त करने के लिए, आप एग्रीगेट फंक्शन का उपयोग कर सकते हैं। सिंटैक्स इस प्रकार है:
db.yourCollectionName.aggregate([{$sample:{size:1}}]);
उपरोक्त सिंटैक्स को समझने के लिए, आइए कुछ डॉक्यूमेंट्स के साथ एक कलेक्शन बनाएं। कलेक्शन बनाने के लिए क्वेरी इस प्रकार है:
>db.employeeInformation.insert({"EmployeeId":1,"EmployeeName":"Maxwell","EmployeeAge":26});
WriteResult({ "nInserted" : 1 })
>db.employeeInformation.insert({"EmployeeId":2,"EmployeeName":"David","EmployeeAge":25});
WriteResult({ "nInserted" : 1 })
>db.employeeInformation.insert({"EmployeeId":3,"EmployeeName":"Carol","EmployeeAge":24});
WriteResult({ "nInserted" : 1 })
>db.employeeInformation.insert({"EmployeeId":4,"EmployeeName":"Bob","EmployeeAge":28});
WriteResult({ "nInserted" : 1 })
>db.employeeInformation.insert({"EmployeeId":5,"EmployeeName":"Sam","EmployeeAge":27});
WriteResult({ "nInserted" : 1 })
अब आप find() मेथड की मदद से कलेक्शन से सभी डॉक्यूमेंट्स प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है:
> db.employeeInformation.find().pretty();
निम्नलिखित आउटपुट है:
{ "_id" : ObjectId("5c6d3079734e98fc0a434ae5"), "EmployeeId" : 1, "EmployeeName" : "Maxwell", "EmployeeAge" : 26 }
{ "_id" : ObjectId("5c6d308c734e98fc0a434ae6"), "EmployeeId" : 2, "EmployeeName" : "David", "EmployeeAge" : 25 }
{ "_id" : ObjectId("5c6d309d734e98fc0a434ae7"), "EmployeeId" : 3, "EmployeeName" : "Carol", "EmployeeAge" : 24 }
{ "_id" : ObjectId("5c6d30ab734e98fc0a434ae8"), "EmployeeId" : 4, "EmployeeName" : "Bob", "EmployeeAge" : 28 }
{ "_id" : ObjectId("5c6d30bb734e98fc0a434ae9"), "EmployeeId" : 5, "EmployeeName" : "Sam", "EmployeeAge" : 27 }
यहां रैंडम रिकॉर्ड प्राप्त करने की क्वेरी है:
> db.employeeInformation.aggregate([{$sample:{size:1}}]).pretty();
निम्नलिखित आउटपुट है:
{ "_id" : ObjectId("5c6d30bb734e98fc0a434ae9"), "EmployeeId" : 5, "EmployeeName" : "Sam", "EmployeeAge" : 27 }
आइए उसी क्वेरी का उपयोग करके एक और रैंडम रिकॉर्ड प्राप्त करें:
> db.employeeInformation.aggregate([{$sample:{size:1}}]).pretty();
निम्नलिखित आउटपुट है:
{ "_id" : ObjectId("5c6d308c734e98fc0a434ae6"), "EmployeeId" : 2, "EmployeeName" : "David", "EmployeeAge" : 25 }