demo_10_02 云数据库聚合_bucket_01
// 1. 数据库数据
// {
// "items": { // 集合(表名)
// "data": [ // 数据
// {
// "_id": 1,
// "price": 10
// },
// {
// "_id": 2,
// "price": 50
// },
// {
// "_id": 3,
// "price": 20
// },
// {
// "_id": 4,
// "price": 80
// },
// {
// "_id": 5,
// "price": 200
// }
// ]
// }
// }
// 02. 聚合操作
'use strict';
const db = uniCloud.database();
const $ = db.command.aggregate;
exports.main = async(event, context) => {
// 对上述记录进行分组,将 [0, 50) 分为一组,[50, 100) 分为一组,其他分为一组:
let res = await db.collection('items').aggregate()
.bucket({
groupBy: '$price',
boundaries: [0, 50, 100],
default: 'other',
output: {
// 输出两个字段的值
count: $.sum('$price'), // 同组 price 值相加
ids: $.push('$_id') // push 表示输出为数组
}
})
.end();
return res;
};
// 聚合之后的返回值
// {
// "affectedDocs": 3,
// "data": [{
// "_id": 0,
// "count": 30,
// "ids": [1, 3]
// }, {
// "_id": 50,
// "count": 130,
// "ids": [2, 4]
// }, {
// "_id": "other",
// "count": 200,
// "ids": [5]
// }]
// }
分类:
04_项目_demo
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律