想筛选endTime在当前时间new Date()以前或以后的数据,实现“已完成”和“未完成的功能
var dateButIsFuckingUselessYouSonOfABitchFuckingIdiot= new Date()
当涉及一个表时,用where很轻松就实现了
const result = await db.collection('activity').where({
_openid: OPENID,
endTime: event.completed==0 ? _.gt(dateButIsFuckingUselessYouSonOfABitchFuckingIdiot):_.lte(dateButIsFuckingUselessYouSonOfABitchFuckingIdiot)
}).get({
success:function(res){
console.log(res)
return res
}
})
return result.data
}
但是涉及联表查询需要用到聚合的lookup()时,问题就出现了:
首先无法在where()后使用aggregate(),虽然where返回的也是一个collection类型,如果可以的话问题会简单很多。
然后改用在aggregate()创建的pipline里使用match()进行筛选,虽然微信官方文档给的是
查询条件与普通查询一致,可以用普通查询操作符
然而在日期的查询上并没有“与普通查询一致”,直接
...
.match({