收藏
回答

云函数调用无法删除集合中的一个字段,提示不能更新_id的值?

云函数:
const doc = await db.collection(collectionName).doc(docId).get();
delete doc.data[fieldName];
await db.collection(collectionName).doc(docId).update({
  data: doc.data
});
小程序:
    wx.cloud.callFunction({
        name'delete',
        data: {
          collectionName'testcollectionName',
          docId: docId,
          fieldName: fieldName
        },

        successres => {
          console.log('字段删除成功', res.result);
        },
        failerr => {
          console.error('字段删除失败', err);
        }
    });
最后一次编辑于  02-03
回答关注问题邀请回答
收藏

4 个回答

  • showms
    showms
    发表于小程序端
    02-04

    delete data._id一下

    02-04
    有用
    回复 1
    • Mike
      Mike
      02-05
      调用过了,确实不报错,也提示删除成功,但是实际上还是删不掉,字段还在,也用deepseek和豆包的方法全都测了,就是删不掉,只能通过开发工具或者云后台删除。
      02-05
      回复
  • 跨商通
    跨商通
    02-03

    console.log(doc.data)看一下是否有_id和_openid,有的话,先delete掉。

    02-03
    有用
    回复 1
    • Mike
      Mike
      02-05
      此方法测试没有_id和_openid
      02-05
      回复
  • Mike
    Mike
    02-03

    已经反复确认和检查,没有写删除id的代码

    02-03
    有用
    回复
登录 后发表内容