【发布时间】:2021-06-21 19:41:20
【问题描述】:
我的网络界面需要访问一个 URL(如下所示)并只返回请求组的结果:
http://localhost:3000/device/getgroups/group1,group2,group3,group4
在 MongoDB 中,我有字段“loc_group”的条目。
我只想返回具有字段“loc_group”= group1 OR group2 OR group3 OR group4 的结果。
我的路线是这样的:
router.get('/getgroups/:groups', async (req, res) => {
try {
var groups = "req.parms.groups";
#split groups
var arr = groups.split(",");
#iterate in the results on array (arr)
for (var i = 0; i < arr.length; i++) {
arr[i] = ++arr[i];
if (i = arr.lenght) {
var query = "{'loc_group': '" + arr[i] + "' }"
var totals = totals + query;
} else {
var query = "{'loc_group': '" + arr[i] + "' },"
var totals = totals + query;
}
}
# after this for, the totals must looks like
# "{'loc_group': 'group1' }"
# "{'loc_group': 'group2' }"
# "{'loc_group': 'group3' }"
# "{'loc_group': 'group4' }"
#
# then i try to use it on the mongodb query:
const logues = await device.find({ $or: [ totals ], })
res.json(logues)
} catch (err) {
res.status(500).json({ message: err.message })
}
})
但它不起作用,我输入网址时得到的是:
{"message":"$or/$and/$nor 条目必须是完整对象"}
我是 nodejs 的初学者,这是我在这里的第一个问题,如果需要其他信息或其他信息,请告诉我。谢谢。
【问题讨论】: