Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
第二个参数,用于限制find()中的字段在Mongodb中不起作用_Mongodb - Fatal编程技术网

第二个参数,用于限制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 })