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);
});