小程序云数据库update更新数据为0问题结局

很久很久以前我是个.net程序媛,几年前也做过一些php的项目,不过我大部分时间都是一个前端设计师(工程师)。
本来我想自己写api,但是一上手,才发现,忘了。。。99%忘了,孕傻害死人。
算了呢,就用小程序自带的云开发好了,不用搭服务器,现成数据库,还有好用的云函数… 感觉天空好晴朗啊。
由此入坑,对于一个习惯于关系型数据库sqlServer,mySql的,又在孕傻的人来说,云开发数据库有点怪怪的。数据结构这些还好,很快适应了,主要的问题在于小程序端对于操作数据库的限制,非常多,包括但不限于:

  1. 一次只能get 20个数据,
  2. 小程序端不支持连表查询(我最喜欢左连接,右连接…)

嗯,就这两个,就已经难死我了,再也不能愉快地写sql语句了。

好了,说了这么多废话,今天碰到的问题是关于云开发数据库update:

// arr是很大一堆的数据,因为小程序非人的限制,才有了这么一大坨的arr

let arr = [...]
db.collection("books")
      .where({
        _id: _.eq(this.data.bid)
      })
      .update({
        data: {
          articles:arr,         
        },
      })
      .then(res => {
        console.log(res)
      })

第一坑:errCode:-502003 database permission denied,
解决:修改权限为:所有用户可读,仅创建者可写

第二坑:更新后,打印出来的结果stats{update:0}就是并没有更新
因为books的表数据是我在数据库手动添加的,当时没有建_openid这一字段。所以,它认为我不是创建者,因此死也不更新。
解决: 给表加上_openid这个字段,并设为我的openid即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

immocha

人生得意须尽欢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值