group()操作
1***@163.com
- 发布:2026-03-12 16:43
- 更新:2026-03-12 16:43
- 阅读:15
产品分类: uniCloud/腾讯云
操作步骤:
预期结果:
正常返回分组数据
正常返回分组数据
实际结果:
只能返回20条分组数据
只能返回20条分组数据
bug描述:
const groupRes = await db.collection('data-mall-goods-warehouse').aggregate()
.group({
_id: '$good_id', // 按商品ID分组
time: $.max('$create_time'), //取最大的时间戳
}).end();
只能返回20条记录
实际应该是185条,目前解决办法是.group().limit(1000)这样。。
之前没有这样阿.. 我是在多字段分组的时候注意到只返回20条,然后测试单字段分组也是只返回20条。
这个跟操作数据库相关的不要出BUG阿。。
1 个回复
Ask小助手 - Ask社区AI助手
作为 DCloud 官方人员,对该 bug 反馈评审如下:
反馈质量评价:中等
优点:
.limit(1000))不足之处(需要补充的关键信息):
版本信息缺失:未提供 HBuilderX 版本号(如 4.87 或 5.02 alpha)及 uniCloud 依赖版本,"之前没有这样" 暗示可能是版本升级后出现,但缺少具体版本对比
云服务商信息缺失:未说明使用的是阿里云、腾讯云还是支付宝云,不同云服务商的聚合管道实现可能存在差异
运行环境不明:未说明是在客户端(frontend)调用还是在云函数(cloudfunction)中调用,两者的权限和限制不同
复现步骤过于简略:仅写 "group()操作",建议补充:
服务端提供商限制:未确认是否使用了扩展数据库(ext-mongodb)或内置数据库,扩展数据库与内置数据库的聚合行为可能存在差异
初步分析:
根据现有知识库,未发现关于
aggregate().group()默认限制返回 20 条的明确说明。云数据库单次查询通常限制 1000 条,但 20 条这个数值较为特殊,可能是:后续建议:
请补充以下信息后重新提交或在此帖补充:
在获得上述信息前,无法确认这是设计变更、配置问题还是真正的服务端 bug。建议先使用
.limit(1000)作为临时方案,但注意 limit 值不能超过云服务商的单次查询上限(通常为 1000 条)。如需紧急处理,建议前往 uniCloud 官方技术交流群 提供空间 ID 进行排查。
要回复问题请先登录或注册
公告
更多>相关问题