您好我似乎无法使排除_id工作,这是代码
const findLabels = (db, cb) => {
// Get the documents collection
const collection = db.collection(documentName);
// Find some documents
collection.find({}, { _id: 0 }).toArray((err, docs) => {
// An error occurred we need to return that to the given
// callback function
if (err) {
return cb(err);
}
assert.equal(err, null);
console.log("Found the following records");
console.log(docs)
return cb(null, docs);
});
}
以下是控制台日志中的输出
Found the following records
[ { _id: 5a5ee78cc130e727a3b1fdb6, name: 'Downgradeklajds' },
{ _id: 5a5ee794c130e727a3b1fdb7, Pizel: '00:00:07' } ]
我哪里出错了?
答案 0 :(得分:7)
我认为指定投影的正确方法是使用“fields”或“projection”属性,具体取决于驱动程序的版本。
collection.find({}, {projection:{ _id: 0 }})
阅读文档here。
答案 1 :(得分:0)
如果您使用findOne
,
您可以尝试
const posts : Collection= db.collection('posts')
let document = await posts.findOne({
path: path
}, {
fields: {
_id: 0
}
})
例如,我查询路径(用作_id)
答案 2 :(得分:0)
对于较新的版本,只需执行以下操作:
collection.find({}, {_id: 0 })
其中 find {} 是指所有(无限制),下一个参数是投影,因此 0 或 False 排除 _id({_id: False }
相同)