我如何在查找查询中使用变量,如下所示:
db有像
这样的文档{choices:{'04-09-2017':'a'},b:'b'},
{choices:{'04-10-2017':'a'},c:'c'}
我的查询是
var x = "choices.04-09-2017"
db.find({
x: {
$exists: true
}
}, function(err, docs) {
});
我如何定义x是变量而不是属性? 谢谢!
答案 0 :(得分:1)
如果您定义代表您的搜索的对象,则会更容易:
var toFind = {};
var firstTerm = "choices";
var secondTerm = "04-09-2017";
toFind[firstTerm]={};
toFind[firstTerm][secondTerm] = {$exists = true};
db.find(toFind, function(err, docs) {
// put here your callback
});
这应该有效。
中的示例x
{
x: {
$exists: true
}
}
被视为搜索到的obj的键,不会被评估。