systhinker
systhinker
  • 发布:2024-10-26 15:54
  • 更新:2024-10-30 11:16
  • 阅读:217

【报Bug】不能同时使用两个数据库操作符吗?

分类:uniCloud

产品分类: uniCloud/App

示例代码:

以下代码运行报错: JQL语法暂不支持使用更新操作符

await db.collection('class')  
                    .where({  
                        _id: db.command.in(incList) // 查询所有ID对应的课件详情  
                    }).update({  
                        used:db.command.inc(1)  
                    });     

以下代码执行没问题

await db.collection('class')  
                    .where({  
                        _id: db.command.in(incList) // 查询所有ID对应的课件详情  
                    }).update({  
                        used:1  
                    });     

操作步骤:

每次模拟运行小程序都会报错

预期结果:

语句顺利执行,给一组数据的used值增加1。

实际结果:

报错,并提示JQL语法暂不支持使用更新操作符

bug描述:

在传统方式操作数据库时,where语句使用db.command.in查找一组记录,update语句使用db.command.inc为这组记录的某个字段增1,结果执行时报错:JQL语法暂不支持使用更新操作符。其实没使用JQL语法而是传统的方式,update语句使用db.command.inc改为直接给字段赋值就没报错了,但是不能满足需要,请问怎么回事?是不是BUG?

2024-10-26 15:54 负责人:无 分享
已邀请:
DCloud_uniCloud_VK

DCloud_uniCloud_VK

你在前端操作的把?前端操作都是JQL,需要在云函数中操作数据库

  • systhinker (作者)

    是的,这是什么奇怪的规定

    2024-11-16 15:18

  • DCloud_uniCloud_VK

    回复 systhinker: 前端操作用的就是JQL, JQL暂不支持使用更新操作符

    2024-11-18 20:23

要回复问题请先登录注册