如图,同样根据时间查询,where里面可以执行,match内执行报错;仅服务端,客户端无此BUG,SDK版本如下。
另外,请提供事务能力,否则有很多业务场景操作没法回滚
字段为数据库的date类型的话,貌似不能直接和new Date对象比较
比较Date用 使用$.dateFromString转一下
查询字段 time <= 2019-10-01的记录,time必须是数据库Date类型
const $ = db.command.aggregate
var d = new Date('2019-10-01'),
a = $.dateFromString({
dateString: d.toJSON()
})
db.collection('xxx').aggregate()
.addFields({
matched: $.lte(['$time', a]),
.match({
matched:!0
.end()