在前端,在下面进行字符串化
{ options: { $or: [ id1,id2,id3 ],foo: { $gte: bar} } }
在后端
直接在SomeCol.Find(req.params.options)
当然可以进行验证/消毒
修改
我打算将哪些用户可以在后端查询白名单
// pseudo validator schema
{
$or: isArrayOf({ _id: MongoId }),foo: isObject({
$gte: isnumber()
})
}
如果来自前端的查询不符合该架构,它将在此处停止。
而且由于我总是为find()
运行GET Method
(所以不插入),所以我认为这样做很方便。
还是粗略的?