尝试按照此处的示例过滤使用投影来排除_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();
});
});
Run Code Online (Sandbox Code Playgroud)
结果仍然如下返回:
[{_id:5a2bb2d6ee48575cb54c4365,姓名:'John',地址:'Highway 71'},{_ id:5a2bb2d6ee48575cb54c436d,姓名:'Susan',地址:'One way 98'},.... {_ id:5a2bb2d6ee48575cb54c4371,name :'Chuck',地址:'Main Road 989'},{_ id:5a2bb2d6ee48575cb54c4372,名称:'Viola',地址:'Sideway 1633'}]
理论上_id不应该是返回的一部分.这有什么不对?
目前我正在编写一个查询,该查询显示具有特定注册号的卡车的信息,但不允许在我的查询中显示对象 ID。到目前为止,我能够获得所需的输出,但尽管在查询中输入了“_id”:0,但在查询期间对象 ID 仍然存在。
[询问]
db.transport.find(
{
$or:[
{"TRUCK.registration":"PKR768"},
{"TRUCK.registration":"PKR008"},
{"TRUCK.registration":"SST005"},
{"_id":0},
]
}
).pretty()
Run Code Online (Sandbox Code Playgroud)
[输出]
{
"_id" : ObjectId("5fab387f48a75b7c08cedfe4"),
"TRUCK" : {
"registration" : "PKR008",
"capacity" : "22000",
"weight" : "8800",
"status" : "AVAILABLE"
}
}
{
"_id" : ObjectId("5fab387f48a75b7c08cedfe5"),
"TRUCK" : {
"registration" : "PKR768",
"capacity" : "1234",
"weight" : "3000",
"status" : "AVAILABLE"
}
}
{
"_id" : ObjectId("5fab387f48a75b7c08cedfe7"),
"TRUCK" : {
"registration" : "SST005",
"capacity" : "12000",
"weight" : "50000",
"status" : "USED"
}
}
Run Code Online (Sandbox Code Playgroud)