微信小程序数据库更新失败

求帮助指导!更新数据库一个集合某字段中的值不成功!
代码逻辑是先查询集合有某条记录否!再判断如果没有就写入新记录!如果有就只更新该记录的count字段的数量查询控制台可以看到!增加就是只在控制台可以看到以前count的值和更新的值!云数据库更新不了更新返回
显示result为null

img

img

悬赏远程指导

问题解决吗,我可以远程

结合GPT给出回答如下请题主参考
有可能是你的更新语句写的有问题,可以以下列步骤来检查:

  1. 确认你提供的数据库信息是否正确,包括数据库名称、集合名称以及要更新的字段名称等。
  2. 确认你的更新语句是否正确,语法是否正确,是否缺少逗号等错误,建议再仔细检查一遍。
  3. 确认你的更新语句的前提条件是否满足,即该集合中是否已存在要更新的记录,如果没有,更新操作将无法执行。
  4. 如果以上步骤都检查无误,但是更新仍然失败,可能是因为你的数据库权限设置不正确。可以尝试更改设置,让用户拥有更高的权限。

如果以上步骤都无法解决问题,建议你联系微信小程序的相关技术支持团队,获取更专业的帮助和支持。

微信小程序数据库更新update的使用

   微信小程序数据库的update功能不可以直接使用db.collection.update,此功能虽然在collection的使用说明文档中有,但是经过实际操作之后是无法成功更新的,必须使用db.collection.doc.update才可以完成。

        使用db.collection.doc.update方式时,数据记录则应由add功能添加,这样云数据库会自动生成一条_id字段,可以用在doc.update时使用。

_id的获取可以使用get方式获取,相关示例如下:

 db.collection("user").where({'user_id':user_id}).get({
      success: res => {
        that.setData({
          _id:res.data[0]._id
 
        })
      }
    })
更新操作如下示例:

db.collection('user').doc(this.data._id).update({
      // data 传入需要局部更新的数据
      data: {
        user_name:this.data.name
      }
    })
    .then(console.log)
    .catch(console.error)
经过实际测试,该方法可以成功更新数据,并在手机端正常操作