Node.js Mongo DB查找查询异常

时间:2018-10-19 20:02:48

标签: node.js mongodb

我正在为此使用Node.js MongoDB本机驱动程序。

当我直接在find()中使用condition时,效果很好

db.collection('test').find({'age':'25'}).toArray().then((docs)=>{

当我将条件分配给变量并在find()中使用它时,效果很好。

var query = {'age':'25'};

db.collection('test').find(query).toArray().then((docs)=>{

但是,当我从用户输入中分配一个值时,查询将无法按预期运行,而是如同未指定任何条件一样运行。

var query = (`{'age':'${age}'}`)

db.collection('test').find(query).toArray().then((docs)=>{

我尝试打印查询,发现查询具有必要条件{'age':'25'}

任何想法请帮忙。

2 个答案:

答案 0 :(得分:1)

尝试一下:

var query = {'age': `${age}`}

答案 1 :(得分:0)

您的查询是一个字符串。

如果您有一个名为age的变量,并且一个字段具有相同的名称,您可以说const query = { age }

并且非常确定find已经返回了一个文档数组

尝试

const query = { age };

db.collection('test').find(query).then((docs)=>{
  console.log(docs);
});