问题模块 | 框架类型 | 问题类型 | 终端类型 | AppID | 基础库版本 |
---|---|---|---|---|---|
云开发 | 小程序 | Bug | 工具 | wx602a983d938d750b | 2.9.1 |
如图,同样根据时间查询,where里面可以执行,match内执行报错;仅服务端,客户端无此BUG,SDK版本如下。
另外,请提供事务能力,否则有很多业务场景操作没法回滚
网友回复
o0o有脾气的酸奶:
字段为数据库的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()