【发布时间】:2017-01-17 22:59:00
【问题描述】:
我在这样的集合中有一个文档:
{
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 });
【问题讨论】: