收藏
回答

云函数中使用update更新云数据库内容?

index.js:29 Error: errCode: -502001 database request fail | errMsg: [FailedOperation] multiple write errors: [{write errors: [{'$set' is empty. You must specify a field like so: {$set: {<field>: ...}}}]}, {<nil>}]; 

急急急 请问怎么解决

在使用云函数调用云数据库的update函数是出现了如下的错误

我的代码是这样的:

const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
  try {
    let changeItem={}
    console.log(event)
    changeItem[event.condition.key]=event.value
   console.log(event.condition._id)
    return await db.collection('icinfo').doc(event.condition._id).update({data:changeItem})
  } catch(e) {
    console.error(e)
  }
}

传过来的参数是这样的:

(property) data: {
    condition: {
        "_id": any;
        "address": any;
        "haspe": any;
        "haslt": any;
        "tips": any;
    };
}

调用函数是:

  submitform:function(e){
    let condition = {}
    condition["_id"]=e.detail.value.id
    condition["address"]=e.detail.value.cname
    condition["haspe"]=e.detail.value.isp
    condition["haslt"]=e.detail.value.isl
    condition["tips"]=e.detail.value.isnote
    console.log(condition)
    wx.cloud.callFunction({
      name: 'updateICInfo',
      data:{
        condition
      },
      complete: res => {
        console.log('callFunction test result: ', res)
      }
    })
  }

急,请教怎么处理

回答关注问题邀请回答
收藏

1 个回答

  • 白宦成 #Linux中国
    白宦成 #Linux中国
    2020-06-23

    你好,根据报错来看,是你更新时传入的 changeItem 为空,建议检查一下是否为空

    2020-06-23
    有用
    回复 7
    • 胚
      2020-06-23
      好的那我先看一下
      2020-06-23
      回复
    • 胚
      2020-06-23
      感谢,那请问一下是不是update里我就是需要一个一个的字段修改写出来?不能写在一起是吗?
      2020-06-23
      回复
    • 白宦成 #Linux中国
      白宦成 #Linux中国
      2020-06-23回复
      可以写在一起。
      2020-06-23
      回复
    • 胚
      2020-06-23
      能给个示例吗?
      2020-06-23
      回复
    • 胚
      2020-06-23
      我这里上下两天log都是正常的  就中间放在changeitem的时候log输出是undefined
      2020-06-23
      回复
    查看更多(2)
登录 后发表内容
问题标签