$ in查询运算符不在聚合框架中工作

时间:2015-03-31 23:11:46

标签: mongodb mongoose aggregation-framework

我有一大堆数据集,我想使用mongo聚合框架运行一些自定义查询。

我正在尝试执行以下操作

minLimitmaxLimit是指定日期范围的日期对象。

Tickets.aggregate(
{ $match: { timestamp: { $gte: minLimit, $lte: maxLimit } } },
{ $match: { staffId: { $in: staffIds } } }

).allowDiskUse(true).exec(cb);

如果我不包括员工匹配条件,则上述工作正常,但在我包含员工匹配条件后,不会返回任何记录。

staffIds是使用lodash pluck方法得到的一组id。 首先,我使用

获取所有员工文档
Staff.find({some filter condition}, callback);

然后我使用

取出每个记录
var staffIds = _.pluck(results, '_id');

我会通过这个staffIds来匹配条件。

  1. 为什么不工作?如果我在匹配中删除$,它工作正常。

0 个答案:

没有答案