高级查询mongodb

时间:2012-07-09 02:15:43

标签: node.js mongodb

我正在尝试使用多个键来查询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方法。

1 个答案:

答案 0 :(得分:2)

在将JSON发送到mongodb之前,您无需将其转换为字符串。 find命令接受本机JSON作为其查询参数。

您使用的是节点本机驱动程序吗?