我正在尝试使用多个键来查询mongo中的表。我已经能够使用$in
函数来利用cmd来提取结果。
当我将表示查询的json对象注入find()
方法时,我也成功地使mongojs在节点上运行并查询数据库。这是有效的代码。
db.collection(req.params.collection).find({"labels":{"$in":["key1","key2"]}}) //json injected
当我尝试将json对象直接注入find()
方法时,我得到零结果。
{"labels":{"$in":["key1","key2"]}}
是服务器创建并由上述方法使用的确切json对象。
var json = JSON.stringify(eval("(" + newQ + ")"));
console.log(json);
db.collection(req.params.collection).find(json) //same json object as above.
我迷失了这个。我需要能够动态设置json对象并插入find
方法。
答案 0 :(得分:2)
在将JSON发送到mongodb之前,您无需将其转换为字符串。 find命令接受本机JSON作为其查询参数。
您使用的是节点本机驱动程序吗?