收藏
回答

update is not a function?

//file: pages/meesage/message.js 

 

const db = wx.cloud.database();

markAsRead: function (messageId) {
    db.collection("messages").where({
      chatid: messageId,
      receiverid: app.globalData.openId
    }).update({
      data: {
        "isRead": true
      },
      success(res) {
        console.log("标记消息已读",res);
      }
    })
  },

我不知道这样到底是不是正确的了,社区找了半天,网上也没什么解决方法,现在迷失了,有说这是?不是云开发操作?😂求大家指正下。代码写在小程序的代码了面的,不是云函数里面。

报错信息是:TypeError: db.collection(...).where(...).update is not a function。

//记得之前都没问题呢,难道是我没测试到这里?要交货了出现各种问题……

最后一次编辑于  08-25
回答关注问题邀请回答
收藏

1 个回答

  • 老张
    老张
    08-25

    是的,没有这个接口,请仔细读文档。

    小程序端:

    没有db.col.where.update,

    只有db.col.doc.update

    08-25
    赞同
    回复 7
    • Il
      Il
      08-31

      不是吧,那您能帮忙看下官网的这段代码吗?https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/database/collection.update.html

      我不太确定我是不是用错了。

      const _ = db.command
      db.collection('todos').where({
        done: false
      }).update({
        data: {
          progress: _.inc(10)
        },
        success: console.log,
        fail: console.error
      })


      08-31
      回复
    • 老张
      老张
      08-31回复Il
      什么时候过时的网页吧?我没在官网文档上找到小程序端的collection.update。
      08-31
      回复
    • Il
      Il
      08-31回复老张
      不是吧,我从https://mp.weixin.qq.com 的小程序开发文档进去的
      08-31
      回复
    • 老张
      老张
      08-31回复Il
      我看到了。个人判断这是个文档的错误,你可以反馈到官方试试。小程序端更新多条这种操作,与_openid是矛盾的吧,难道批量update自己的doc,别人的自动跳过?至少从你的出错信息上看,我的判断是对的。
      08-31
      回复
    • Il
      Il
      08-31回复老张
      0.0多谢。顺便问一下,您如何实现批量更新的呢?云函数吗?
      08-31
      回复
    查看更多(2)
问题标签