NeDB如何在查询中使用变量?

时间:2017-09-13 04:53:37

标签: find nedb

我如何在查找查询中使用变量,如下所示:

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是变量而不是属性? 谢谢!

1 个答案:

答案 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的键,不会被评估。