我有一大堆数据集,我想使用mongo聚合框架运行一些自定义查询。
我正在尝试执行以下操作
minLimit
和maxLimit
是指定日期范围的日期对象。
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来匹配条件。