查不到数据,不想用addFields+match的方式
const start = new Date('2020-09-01 00:00:00').toJSON()
const end = new Date('2020-09-30 00:00:00').toJSON()
db.collection('')
.aggregate()
.match({
time: _.gte(
$.dateFromString({
dateString: start,
})
).lte(
$.dateFromString({
dateString: end,
})
)
})
.end()
试了很多次,得出
const start = new Date('2020-09-01 00:00:00').toJSON() const end = new Date('2020-09-30 00:00:00').toJSON() db.collection('') .aggregate() .match( _.and([ /** * 精准 or 模糊查询 */ { name: 'xx', }, { phone: /.+/, }, _.expr( /** * 时间范围查询 */ $.and([ $.gte([ '$time', $.dateFromString({ dateString: start, }), ]), $.lte([ '$time', $.dateFromString({ dateString: end, }), ]), ]) ) ]) ) .end()