繁体   English   中英

我如何在Node.js中将查询转换为与mongodb一起使用

[英]how do I translate my query to use with mongodb in Node.js

这是我的mongo查询的样子

db.test.findOne({"User.David":{$elemMatch:{"action":"todo","status":"Done"}}})

我正在node.js api中实现此功能,用户可以在其中基于用户名和状态检索文档

下面是我尝试过的。

var query = {};
var value = `User.${userName}`;
query[value] = `{$elemMatch:{"action":"todo","status":"${status}"}}`

db.collection(test).findOne(query).then((result)=>{

}

问题是查询看起来像

db.test.findOne({'User.David':'{$elemMatch:{"action":"todo","status":"Done"}}'})

引号在这里是个问题。

您不应该在整个查询值表达式周围使用字符串模板,因为那样会产生字符串。 相反,只需像这样构造查询:

query[value] = { $elemMatch: { action: "todo", status } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM