- 云数据库, 无法将两个字段聚合为一个对象?
mergeObjects这个API只能对对象进行聚合 现在需要一种能力, 可以对A字段和B字段进行聚合, 聚合结果为一个对象, 例子如下 [代码]{[代码][代码] [代码][代码]_id: xx,[代码][代码] [代码][代码]A: avalue,[代码] [代码] B: bvalue,[代码] [代码]}[代码] 聚合结果为: { _id mergeResult: {avalue: bvalue} } --- 谢谢~
2019-09-28 - 云数据库 聚合操作 LIMIT错误 且 无法比较时间
问题1: 聚合操作时, 指定LIMIT为100时, 返回90条数据, 指定LIMIT为110时,返回100条数据, BUG实锤了 问题2: 聚合操作的GT, GTE, LT, LTE等比较操作无法直接比较时间, 只能将时间转化为字符类型后, 才能比较 [代码] [代码][代码]const result = await db.collection([代码][代码]"DANDAN_NOTE"[代码][代码])[代码] [代码] .aggregate() [代码] [代码] .limit(MAX_LIMIT) [代码][代码] [代码][代码].project({ [代码][代码] [代码][代码]_id: 0, [代码][代码] money: 1,[代码][代码] [代码][代码]isDel: 1, [代码][代码] [代码][代码]openId: 1,[代码][代码] [代码][代码]flow: 1, [代码][代码] [代码][代码]noteDate: 1,[代码][代码] [代码][代码]isTarget: $.and([[代码][代码] [代码][代码]$.gte([$.dateToString({[代码][代码] [代码][代码]date: [代码][代码]'$noteDate'[代码][代码],[代码][代码] [代码][代码]format: [代码][代码]'%Y-%m-%d'[代码][代码],[代码][代码] [代码][代码]timezone: [代码][代码]'Asia/Shanghai'[代码][代码] [代码][代码]}), startDate]),[代码][代码] [代码][代码]$.lte([$.dateToString({[代码][代码] [代码][代码]date: [代码][代码]'$noteDate'[代码][代码],[代码][代码] [代码][代码]format: [代码][代码]'%Y-%m-%d'[代码][代码],[代码][代码] [代码][代码]timezone: [代码][代码]'Asia/Shanghai'[代码][代码] [代码][代码]}), endDate])[代码][代码] [代码][代码]])[代码][代码] [代码][代码]})[代码]
2019-09-07