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
Is it possible to return a list of specific values from a MongoDB query?
Yes, you can return a list of specific values from a MongoDB query using the map() method or projection. The map() method transforms query results into an array of specific field values.
Syntax
db.collection.find().map(function(document){
return document.fieldName;
});
Sample Data
db.listOfSpecificValuesDemo.insertMany([
{"StudentName": "John"},
{"StudentName": "Chris"},
{"StudentName": "Robert"},
{"StudentName": "David"}
]);
{
"acknowledged": true,
"insertedIds": {
"0": ObjectId("5cefcc8fef71edecf6a1f6bb"),
"1": ObjectId("5cefcc94ef71edecf6a1f6bc"),
"2": ObjectId("5cefcc98ef71edecf6a1f6bd"),
"3": ObjectId("5cefcc9cef71edecf6a1f6be")
}
}
View All Documents
db.listOfSpecificValuesDemo.find();
{ "_id": ObjectId("5cefcc8fef71edecf6a1f6bb"), "StudentName": "John" }
{ "_id": ObjectId("5cefcc94ef71edecf6a1f6bc"), "StudentName": "Chris" }
{ "_id": ObjectId("5cefcc98ef71edecf6a1f6bd"), "StudentName": "Robert" }
{ "_id": ObjectId("5cefcc9cef71edecf6a1f6be"), "StudentName": "David" }
Method 1: Using map() Function
Extract only the StudentName values as an array ?
db.listOfSpecificValuesDemo.find().map(function(myDocument){
return myDocument.StudentName;
});
[ "John", "Chris", "Robert", "David" ]
Method 2: Using Projection with distinct()
Alternative approach to get unique field values ?
db.listOfSpecificValuesDemo.distinct("StudentName");
[ "Chris", "David", "John", "Robert" ]
Conclusion
Use map() to transform query results into arrays of specific field values. For unique values only, distinct() is more efficient than map().
Advertisements
