【问题标题】:NeDB How can i use variable in find query?NeDB 如何在查找查询中使用变量?
【发布时间】:2018-02-21 16:00:13
【问题描述】:

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

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

【问题讨论】:

    标签: find nedb


    【解决方案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 的键并且不被评估。

    【讨论】:

      猜你喜欢
      • 2021-06-22
      • 2021-03-09
      • 2019-06-08
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      • 2017-04-26
      • 2019-08-28
      相关资源
      最近更新 更多