给定架构
Event = new Schema({
type: String,
action: String,
cause: String,
userId: String
)};
我想通过POST请求查询我的集合中的文档。该请求包含一系列类型,操作,原因,userIds。数组可能为空(意味着我不想将其包含在查询中),或者它可能具有值。
如何编写一个基于动态键和值查询集合的函数?
我尝试了几种变体,包括:
...
var query = {}
for (var key in req.body) {
if (req.body[key] && req.body[key].length > 0) {
query[key] = {$in: req.body[key]};
}
}
Event.find({query}).exec(...);
查询执行正常,但从不生成结果。当我在console.log(查询)时,我没有看到预期的结果。
例如:我看到{'type': {'$in': ['a', 'b']}}
($ in in quotes)
而不是{'type': {$in: ['a', 'b']}}