VK1688
VK1688
  • 发布:2020-12-28 13:43
  • 更新:2020-12-30 16:45
  • 阅读:867

【报Bug】聚合操作时max命令如果数据库有空值,max的结果是空而不是最大值

分类:uniCloud

产品分类: uniCloud/App

示例代码:
const $ = db.command.aggregate  
let res = await db  
  .collection('students')  
  .aggregate()  
  .group({  
    _id: '$group',  
    maxScore: $.max('$score')  
  })  
  .end()

操作步骤:

将数据库表students新增若干条条数据,其中score有的是空值,有的是不存在,有的是数字

然后执行示例代码,得到的结果并不是最大值,而是空值

预期结果:

能正确取到最大值

实际结果:

空值

bug描述:

聚合操作时max命令如果数据库有空值,max的结果是空而不是最大值

2020-12-28 13:43 负责人:DCloud_uniCloud_WYQ 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

你说的空值是空字符串是吗?如果是的话这个表现是正常的,mongoDB就是如此

  • VK1688 (作者)

    是空字符串. 这样啊.那写的时候还得加一个 >0的条件,否则会取到空值

    2020-12-30 17:36

  • DCloud_uniCloud_WYQ

    回复 VK1688: 不应该在一个字段上存两个类型的数据

    2020-12-31 17:48

该问题目前已经被锁定, 无法添加新回复