Neveregret
Neveregret
  • 发布:2021-06-13 00:16
  • 更新:2021-06-13 08:43
  • 阅读:173

用clientDB聚合时,addFields时报错

分类:uniCloud
const db = uniCloud.database();  
const $ = db.command.aggregate  
db.collection('stus')  
              .aggregate()  
              .addFields({  
                Degree: $.add(['$num', 10])  
              })  
              .end()  
              .then(res=>{  
                  console.log(res)  
              })  
              .catch(err=>{  
                  console.log(err)  
              })

报错如下:InternalServerError | errMsg: Command failed with error 40180 (Location40180): 'Invalid $addFields :: caused by :: an empty object is not a valid value. Found empty object at path Degree' on server 192.168.146.77:3717. The full response is { "operationTime" : { "$timestamp" : { "t" : 1623550485, "i" : 10 } }, "ok" : 0.0, "errmsg" : "Invalid $addFields :: caused by :: an empty object is not a valid value. Found empty object at path Degree", "code" : 40180, "codeName" : "Location40180", "$clusterTime" : { "clusterTime" : { "$timestamp" : { "t" : 1623550485, "i" : 10 } }, "signature" : { "hash" : { "$binary" : "Ie20dc8jKYWtYrds8Sdpr+Ham88=", "$type" : "00" }, "keyId" : { "$numberLong" : "6941880109229932637" } } } }
把Degree: $.add(['$num', 10])改为Degree: $.divide(['$num', 10])能正常运行。
请问这是什么原因?

2021-06-13 00:16 负责人:无 分享
已邀请:
DCloud_UNI_WYQ

DCloud_UNI_WYQ

完整的错误信息发出来

  • Neveregret (作者)

    已经贴出全部报错信息

    2021-06-13 10:28

  • Neveregret (作者)

    云函数中不存在这个问题,应该是clientDB的bug。不只是add,很多其他运算操作都会报错。望尽快修复。

    2021-06-13 11:33

  • DCloud_UNI_WYQ

    回复 Neveregret: 找一个只有一条数据的集合试试,还有问题就把这条数据也贴出来一下

    2021-06-14 10:29

  • Neveregret (作者)

    回复 DCloud_UNI_WYQ: 能否私聊您,我在群里找到您qq了

    2021-06-14 11:18

  • DCloud_UNI_WYQ

    回复 Neveregret: 加你了

    2021-06-16 11:11

要回复问题请先登录注册