云数据库的权限问题及解决方法

问题

有如下云数据库,有一个“test”集合,其中有一条_id为"case1"的记录,我们想要得到这条记录的相关数据。
在这里插入图片描述

db.collection('test').doc('case1').get().then(res=>{
	console.log("ans:", res)
	this.setData({
		ans: res.data.ans
	})
})

但是,却出现以下错误:
Error: document.get:fail document.get:fail cannot find document with _id XXX, please make sure that the document exists and you have the corresponding access permission.
错误提示
编译器提示我们读取文档失败。get找不到id为case1的文档,请确认该文档存在并且您有相应的访问权限。

解决方法

1、我们要打开这个集合的“数据权限”,可以看到——对于集合中的每条数据记录:仅创建者可读写。(如下图所示)
数据权限

2、选择“自定义安全规则”,会弹出窗口。(如下图所示)
弹窗

3、将"read"和"write"的值都改为true,确定修改。
将"read"和"write"的值都改为true

{
  "read": true,
  "write": true
}

4、再重新编译,便可得到得到这条记录的相关数据。

0 error(s), 0 warning(s)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐