查询解析MongoDB中
问题描述:
我传递的查询参数是这个样子查询解析MongoDB中
var str="["56557e9e8091afc81a4371c8","565ac01b076fd1141492b594","565ab985076fd1141492b586","565aba0a076fd1141492b58c","565ab9d3076fd1141492b588","565aba4b076fd1141492b58e"]";
,它正在接收到我的节点API,它是这个样子
console.log(req.query.pageModalIds);
现在我想解析我的查询是这样的
return RuleSetModel.find({ 'pageId': { $in: req.query.pageModalIds } }, function (err, ruleset) {
if (!err) {
console.log('get rule set');
return res.send(ruleset);
} else {
res.statusCode = 500;
console.log('Internal error(%d): %s', res.statusCode, err.message);
return res.send({ error: 'Server error' });
}
});
此方法不提供我的数据。什么是我的错。谢谢。
N.B这是工作。如果我设置为固定参数,低于..
return RuleSetModel.find({ 'pageId': { $in: ["565a9fddf84313fc08b260dc","565ac01b076fd1141492b594"] } }, function (err, ruleset) {
答
我认为问题在于req.query.pageModalIds
。由于您没有对其进行任何处理,因此它可能保持为字符串对象。你需要将其转换成数组对象申请query.A样品之前如下图所示,
var pageModalIds = JSON.parse(req.query.pageModalIds)
在这之后,你可以在查询申请$这个新的变量。试试这个,让我知道。 :)
+0
感谢你的兄弟,它正在工作 – Shohel
是pageId ObjectId还是DB中的简单字符串? –
@SarathNair,是 – Shohel
我没有得到你 –