使用mongoose

时间:2017-02-25 04:40:37

标签: node.js mongodb mongoose

给定架构

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']}}

0 个答案:

没有答案