1

我正在尝试使用多个键查询 mongo 中的表。我已经能够使用该$in函数通过 cmd 提取结果。

当我将代表查询的 json 对象注入到方法中时,我还成功地使 mongojs 与节点和查询数据库配合得很好find()。这是有效的代码。

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方法中。

4

1 回答 1

2

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

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

于 2012-07-09T03:35:46.553 回答