第二个参数,用于限制find()中的字段在Mongodb中不起作用
我想在结果中省略第二个参数,用于限制find()中的字段在Mongodb中不起作用,mongodb,Mongodb,我想在结果中省略\u id字段 MongoClient.connect("mongodb://localhost:27017/",function(err,client){ var db = client.db("customerDetails"); db.collection("customerName").find({},{ _id : 0}).toArray(function(error,result){ console.log(result);
\u id
字段
MongoClient.connect("mongodb://localhost:27017/",function(err,client){
var db = client.db("customerDetails");
db.collection("customerName").find({},{ _id : 0}).toArray(function(error,result){
console.log(result);
client.close();
});
});
从w3学校向上看
但不知怎么的,它不起作用。我仍然在结果对象中获得\u id
字段。
我缺少什么???在mongodb驱动程序的3.0版中,
find()
的第二个参数是选项对象,而不是投影文档。请参阅文档。要发送投影文档,请设置选项文档的投影
属性。例如
db.collection("customerName").find({}, { projection: { _id: 0 } })
或者,使用:
在mongodb驱动程序的2.2版中,
find
的第二个参数实际上是投影文档。这在最新版本(3.0)中已更改。所以有些博客文章可能不是最新的。请参阅3.0变更日志的相关部分。这应该可以。使用布尔值“false”
在mongodb的版本
3.4.9
中,您只需通过以下方式实现:
db.getCollection('data').find({}, { _id: 0 })
MongoClient.connect("mongodb://localhost:27017/",function(err,client){ var db = client.db("customerDetails"); db.collection("customerName").find({},{ _id : false}).toArray(function(error,result){ console.log(result); client.close(); }); });
db.getCollection('data').find({}, { _id: 0 })