Node.js MongoDB Find with projection to exclude _id still returns it

In version 3 of the MongoDB API, the fields option has been deprecated. You should now use the projection option instead.

For example:

dbase.collection('customers').find({}, {
    projection: {
        _id: 0
    }
}).toArray(function (err, result) {
    if (err) {
        throw err
    }

    console.log(result)
    db.close()
})

The full list of supported options can be found here: http://mongodb.github.io/node-mongodb-native/3.0/api/Collection.html#find


To limit the fields you have to use fields option( dont know about new updates):

dbase.collection("customers").find({}, {
    fields: { _id: 0 }
}).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
});

UPDATE:

For version > 3 you have to use projection option instead:

dbase.collection("customers").find({}, {
    projection:{ _id: 0 }
}).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
});