Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Get Random record from MongoDB?
Use the $sample aggregation stage to get random records from a MongoDB collection. The size parameter specifies how many random documents to return.
Syntax
db.collectionName.aggregate([{ $sample: { size: N } }]);
Create Sample Data
db.employeeInformation.insertMany([
{"EmployeeId": 1, "EmployeeName": "Maxwell", "EmployeeAge": 26},
{"EmployeeId": 2, "EmployeeName": "David", "EmployeeAge": 25},
{"EmployeeId": 3, "EmployeeName": "Carol", "EmployeeAge": 24},
{"EmployeeId": 4, "EmployeeName": "Bob", "EmployeeAge": 28},
{"EmployeeId": 5, "EmployeeName": "Sam", "EmployeeAge": 27}
]);
Get One Random Record
db.employeeInformation.aggregate([{ $sample: { size: 1 } }]).pretty();
First run ?
{
"_id": ObjectId("..."),
"EmployeeId": 5,
"EmployeeName": "Sam",
"EmployeeAge": 27
}
Second run (different random result) ?
{
"_id": ObjectId("..."),
"EmployeeId": 2,
"EmployeeName": "David",
"EmployeeAge": 25
}
Get Multiple Random Records
Change size to get more random documents ?
// Get 3 random records
db.employeeInformation.aggregate([{ $sample: { size: 3 } }]).pretty();
Conclusion
The $sample aggregation stage is the simplest and most efficient way to retrieve random records from MongoDB. Set size to the number of random documents needed. Each execution returns a different random selection.
Advertisements
