我正在为此使用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'}
任何想法请帮忙。
答案 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);
});