尝试按照此处的示例通过使用投影排除_id进行过滤。_id仍然返回:
码
var MongoClient = require('mongodb').MongoClient; var url = "mongodb://localhost:27017/db1"; MongoClient.connect(url, function (err, db) { if (err) throw err; var dbase = db.db("db1"); //here dbase.collection("customers").find( {}, { _id: 0 } ).toArray(function(err, result) { if (err) throw err; console.log(result); db.close(); }); });
结果仍然返回如下:
[{_id:5a2bb2d6ee48575cb54c4365,名称:“约翰”,地址:“ Highway 71”},{_id:5a2bb2d6ee48575cb54c436d,名称:“苏珊”,地址:“单向98”},…。{_id:5a2bb2d6ee48575b :’Chuck’,地址:’Main Road 989’},{_id:5a2bb2d6ee48575cb54c4372,名称:’Viola’,地址:’Sideway 1633’}]
从理论上讲,_id不应成为返回值的一部分。怎么了
要限制字段,您必须使用fieldsoption(不知道新更新):
fields
dbase.collection("customers").find( {}, {fields:{_id: 0}} ).toArray(function(err, result) { if (err) throw err; console.log(result); db.close(); });
更新:
对于版本> 3,您必须使用projection选项:
projection
dbase.collection("customers").find( {}, {projection:{_id: 0}} ).toArray(function(err, result) { if (err) throw err; console.log(result); db.close(); });