在微信小程序云开发数据库的 SDK 中,聚合操作符的一种特殊类型是累记器操作符(Accumulators)。累记器操作符用于在聚合中执行累计操作,例如计算总和、平均值等。以下是一些常见的累记器操作符的示例:

累记器操作符

1. sum(求和)

   用法示例:
   const db = wx.cloud.database();
   const _ = db.command;

   db.collection('collectionName').where({
     // 查询条件
   }).aggregate().group({
     _id: null,
     total: $.sum('$fieldName') // 替换 fieldName 为实际字段名
   }).end().then(res => {
     console.log(res.list[0].total);
   });

2. avg(求平均值)

   用法示例:
   db.collection('collectionName').where({
     // 查询条件
   }).aggregate().group({
     _id: null,
     average: $.avg('$fieldName') // 替换 fieldName 为实际字段名
   }).end().then(res => {
     console.log(res.list[0].average);
   });

3. first(取第一个非空值)

   用法示例:
   db.collection('collectionName').where({
     // 查询条件
   }).aggregate().group({
     _id: null,
     firstValue: $.first('$fieldName') // 替换 fieldName 为实际字段名
   }).end().then(res => {
     console.log(res.list[0].firstValue);
   });

4. last(取最后一个非空值)

   用法示例:
   db.collection('collectionName').where({
     // 查询条件
   }).aggregate().group({
     _id: null,
     lastValue: $.last('$fieldName') // 替换 fieldName 为实际字段名
   }).end().then(res => {
     console.log(res.list[0].lastValue);
   });

这些累记器操作符可以根据具体的业务需求进行使用,用于计算聚合操作的结果。请注意,微信小程序云开发的文档可能会有更新,建议查阅最新文档以获取详细信息。


转载请注明出处:http://www.zyzy.cn/article/detail/5967/微信小程序