我正在尝试使用转换后的字段作为参数来过滤查询的结果。我的目标是获取当前正在访问城市的所有用户,因此我使用transform方法计算dateTo-dateFrom,如果大于0,则显示该用户。
这是代码
Exchanges = new Mongo.Collection('exchanges', {
transform: (doc) => {
const dateFromDiff = moment(doc.dateFromISO).diff(moment());
const dateToDiff = moment(doc.dateToISO).diff(moment());
doc.time = dateToDiff >= 0 && dateFromDiff <= 0 ? 'present' : (dateToDiff < 0 && dateFromDiff < 0 ? 'past' : 'future');
return doc;
},
});
但是,当我使用新的时间字段来吸引用户时
Exchanges.find({ city: 'Budapest', time: 'present' });
我得到一个空数组。我期望得到一个高性能,反应性和过滤后的数组。这就是为什么我在Meteor上使用mongoDB。有想法吗?