收藏
回答

更新数据库字段,怎么更新不了?

如图:当点击确定后,更新数据库,在数据库增加一个字段,在JS中能够成功添加,当在云函数中实现时,添加不了

在这段代码中,能够成功添加:

confirm(e){
        const that = this;
        console.log(e);
        const itmelength = that.data.code;
        const id = that.data.id;
        const wehicles = that.data.wehicles;
        db.collection("wehicle").doc(id).update({
            data:{
                top:{
                    itmelength:itmelength,
                    pud_data:new Date(), 
                }
            }
        })
        .then(res => {
            console.log(res);
        })
    }, 

在云函数中添加不了:

// 云函数入口函数
exports.main = async (event, context) => {
    const wxContext = cloud.getWXContext();
    const openid = wxContext.OPENID;
    const itmelength = event.itmelength;
    const id = event.id;
    console.log(id);
    return await db.collection("wehicle").doc(id).update({
        data:{
            "top":_.push({
               itmelength:itmelength,
               pud_data:new Date(),
            })
        }
    })
}
js代码:
confirm(e){
        const that = this;
        console.log(e);
        const itmelength = that.data.code;
        const id = that.data.id;
        const wehicles = that.data.wehicles;
        wx.cloud.callFunction({
            name:'topping',
            data:{
                top:{
                   itmelength:itmelength,
                }
            },
            success:res => {
                console.log(res);
            }
        })
}
回答关注问题邀请回答
收藏

2 个回答

  • showms
    showms
    星期一 17:43

    看你的截图even.id不是空的吗

    星期一 17:43
    有用
    回复 4
    • 蓝天☁
      蓝天☁
      星期一 17:53
      这个我试过了,这个就是在前段JS里的data里把ID写进去就有了,也是一样的问题,
       wx.cloud.callFunction({
                  name:“topping“,
                  data:{
                      id:id,
                      top:{
                          itmelength:itmelength,
                          pud_data:new Date(),
                      }
                  },
                  success:res => {
                      console.log(res);
                  }
              })
      星期一 17:53
      回复
    • 蓝天☁
      蓝天☁
      星期一 18:08
      START RequestId: 6fc9a044-2156-4a1e-8901-435e1addcae4
      Event RequestId: 6fc9a044-2156-4a1e-8901-435e1addcae4
      这个是什么?是不是这个ID错了?const id = event.id;这个是点击置顶按钮时的ID, 
       /**
           * 置顶弹窗
           */
          showCode(event){
              console.log(event);
              const id = event.currentTarget.dataset.id
              console.log(id)
              this.setData({
                  show_input:true,
                  id:id
              })
          },
      星期一 18:08
      回复
    • showms
      showms
      2天前回复蓝天☁
      表里面看下有没有这条记录
      2天前
      1
      回复
    • 蓝天☁
      蓝天☁
      13小时前
      搞定了,谢谢,doc里面的id加了个引号,去掉引号,在data里面传个id就好了
      13小时前
      回复
  • Mr.Zhao
    Mr.Zhao
    发表于小程序端
    星期一 13:03

    自己看看云函数运行日志啊

    星期一 13:03
    有用
    回复 1
    • 蓝天☁
      蓝天☁
      星期一 15:52
      日志返回的结果是这样的
      星期一 15:52
      1
      回复
登录 后发表内容