在MongoDB查询上使用变量

时间:2018-02-16 16:24:05

标签: javascript mongodb

我的基本MongoDB查询

p+annotate("text",x=12.5,y=15.25,label=c(cor.test$estimate,cor.test$p.value))

我想使用变量替换表达式,我试过

test.find({$or : [{"timeIn":"2018-1-31 11:57"},{"timeIn":"2018-1-31 11:58"},{"timeIn":"2018-1-31 11:59"},{"timeIn":"2018-1-31 12:00"},{"timeIn":"2018-1-31 12:01"},{"timeIn":"2018-1-31 12:02"},]})

但是出现了错误

    //console.log(expression);
    test.find({"$or" : [expression]  }, {"email": 1, "_id": 0}).toArray(function (err,data){
      if (err) throw err;
      console.log(data);
});

变量MongoError: $or/$and/$nor entries need to be full objects expression

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

1 个答案:

答案 0 :(得分:0)

$or$and始终需要array表达式。

var expression = [{"timeIn":"2018-1-31 11:57"},{"timeIn":"2018-1-31 11:58"},{"timeIn":"2018-1-31 11:59"},{"timeIn":"2018-1-31 12:00"},{"timeIn":"2018-1-31 12:01"},{"timeIn":"2018-1-31 12:02"}]

db.test.find({"$or" : expression  }, {"email": 1, "_id": 0})