- 结果中index字段名应该为sum
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/aggregate/AggregateCommand.isArray.html 示例代码假设集合 [代码]stats[代码] 有如下记录: { "_id": 1, "base": 10, "sales": [ 1, 6, 2, 2, 5 ] } { "_id": 2, "base": 1, "sales": 100 } 计算总销量,如果 [代码]sales[代码] 是数字,则求 [代码]sales * base[代码],如果 [代码]sales[代码] 是数组,则求数组元素之和与 [代码]base[代码] 的乘积。 const $ = db.command.aggregate db.collection('stats').aggregate() .project({ sum: $.cond({ if: $.isArray('$sales'), then: $.multiply([$.sum(['$sales']), '$base']), else: $.multiply(['$sales', '$base']), }) }) .end() 返回结果如下: { "_id": 1, "index": 160 } { "_id": 2, "index": 100 } 结果中index字段名应该为sum,正确为: { "_id": 1, "sum": 160 } { "_id": 2, "sum": 100 }
2020-07-12 - 结果中的value应该为int
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/aggregate/AggregateCommand.trunc.html 示例代码假设集合 [代码]scores[代码] 有如下记录: { "_id": 1, "value": 1.21 } { "_id": 2, "value": 3.83 } { "_id": 3, "value": -4.94 } const $ = db.command.aggregate db.collection('scores').aggregate() .project({ int: $.trunc('$value') }) .end() 返回结果如下: { "_id": 1, "value": 1 } { "_id": 2, "value": 3 } { "_id": 3, "value": -4 } 结果中的value应该为int,正确写法: { "_id": 1, "int": 1 } { "_id": 2, "int": 3 } { "_id": 3, "int": -4 }
2020-07-12 - 示例代码中书写错误
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/Command.elemMatch.html 示例代码:数组元素都是普通数据类型的情况假设集合示例数据如下: { "_id": "a0", "scores": [60, 80, 90] } 找出 [代码]scores[代码] 数组字段中至少同时包含一个满足 “大于 80 且小于 100” 的元素 const _ = db.command db.collection('todos').where({ places: _.elemMatch(_.gt(80).lt(100)) }) .get() places应该为scores,正确写法: const _ = db.command db.collection('todos').where({ scores: _.elemMatch(_.gt(80).lt(100)) }) .get()
2020-07-12