How to return only value of a field in mongodb
At first db.users.find(...).map()
didn't work because db.users.find(...)
doesn't return you a real array.
So you need to convert to array at first.
db.users.find(...).toArray()
Then if you apply map() function will work
db.users.find(...).toArray().map( function(u) { return u.text ; } )
Another simple trick is using .forEach()
This will do the trick
var cursor = db.users.find(...); // returns cursor object which is a pointer to result set
var results = [];
cursor.forEach(
function(row) {
results.push(row.text);
});
results //results will contain the values
Not sure what you language implementation is but the basic concept is:
var result = []
db.users.find().forEach(function(u) { result.push(u.text) })
And the returned value to result
is:
["Hey","Hi","Hello","yes"]