我在一个集合中有一个文档,如下所示:
{
container : {
P39433: 2,
P30213: 4
}
}
值“P39433”和“P30213”在程序中动态生成。我可以直接使用点符号对 mongo 运行以下查询,并得到所需的结果
db.collection.findOne({ "container.P00000" : { $exists : false } })
我拿回文件。即我只想在字段不存在时获取文档。
我的问题是,当值P00000
包含在变量中时,如何使用本机驱动程序在 Node 中运行该查询。
我通常的解决方案是像下面这样构造查询,但它不返回结果。
var fieldName = 'P00000';
var dynObj = {};
dynObj[fieldName] = { $exists : false };
db.collection.findOne( { "container" : dynObj });