How to do field selection on find() in the mongodb native driver?
If you are using latest mongodb 3.0 nodejs driver, then try this code:
db.collection('test').find({}).project({name: 1, last: 1}).toArray();
The recommended way of doing this in v3.0 is with the projection field in the options object:
db.collection('test').find({}, {projection: {name: 1}}).toArray()
As mentioned in the accepted answer, you still cannot mix inclusion and exclusion.
See: http://mongodb.github.io/node-mongodb-native/3.0/api/Collection.html#find
The field selection argument to find
is an object, not an array. And you can't mix field inclusion and exclusion (except for _id
), so it should be:
db.collection("test").find({}, {'name': true}).toArray(function(err, results) {
console.dir(results);
});