在微信小程序云开发的数据库聚合操作中,当你定义好了一系列聚合阶段(例如 $match、$project、$sort 等)后,可以使用 .end() 方法来发起实际的聚合操作,并在 .then 方法中处理聚合操作的结果。以下是一个基本的实际聚合操作的示例:
const db = wx.cloud.database();
const collection = db.collection('collectionName');

// 发起实际聚合操作
collection.aggregate()
  .match({
    status: 'published',
    category: 'news'
  })
  .project({
    title: '$title',
    author: '$author',
    customField: '$yourFieldName'
  })
  .sort({
    createTime: -1
  })
  .limit(10)
  .end()
  .then(res => {
    console.log(res);
    // 在这里处理聚合操作的结果
  })
  .catch(err => {
    console.error(err);
  });

在上述示例中,通过 collection.aggregate() 创建聚合对象,然后链式调用了一系列聚合阶段,包括 $match、$project、$sort、$limit 等。最后使用 .end() 方法发起实际的聚合操作。

在 .then 方法中,你可以处理聚合操作的结果。需要注意的是,聚合操作返回的结果是一个包含 data 字段的对象,其中 data 字段是一个数组,包含了符合条件的文档。你可以根据实际业务需求修改和扩展示例中的聚合操作方式。

更多详细的文档和 API 可以参考[微信小程序云开发官方文档 - 数据库 - 聚合操作](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/aggregate.html)。


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