对上一篇文章的补充。今天来说 cloudbase 中的文档型数据库的权限问题。
腾讯云 cloudbase 中位置: 78a3ea8036d9e7dda55d48ebb2c04391.png
a3117a3bdefebfd8d15c1556378cff93.png
我在写小程序的时候,发现大模型会在云函数和小程序 js 文件里使用
const db = wx.cloud.database();
// 先获取总数
const countResult = await db.collection('articles').count();
const total = countResult.total;
// 获取分页数据
const result = await db.collection('articles')
.orderBy('createTime', 'desc')
.skip((page - 1) * pageSize)
.limit(pageSize)
.get();
const newArticles = result.data;
云函数和小程序都是调用的 wx cloud 的 sdk。这两种都执行成了。
那小程序可以直接db.collection('articles')直接配置查询哪个数据表。这里好像并没有限制不能查看其他数据库哦。
在 console 中调用
84962631212994c355fd91d92d932f35.png
const db = wx.cloud.database();
let countResult = await db.collection('articles').count();
let total = countResult.total;
console.log('总条数:', total);
我的云文档数据库里的表有:
- articles
- articles_tag
- interview_questions
- interview_tag
如果数据表不存在:
ebbf8bae834b5625025c4a710f723efc.png
读取 articles_tag
let countResult = await db.collection('articles_tag').count();
let total = countResult.total;
console.log('总条数:', total);
无权限[ADMINONLY]
3ed7b7de11790f25e1cc50363ae3b611.png提示无权限
39ea5bec2a94a30c715447b80f3226e0.png读取全部数据,不可修改数据[ADMINWRITE]
b6d296e971eb6e891d18da8d837962d4.png读取和修改本人数据[PRIVATE]
0f78a87d7ad972253a2ec310d5efea7d.png
小结
可以看到,如果没有配置无权限[ADMINONLY],那么我们能通过 wx.cloud.database 直接对数据库进行查看,如果给了满权限,还能增删改查。
当小程序需要对云文档数据库进行操作时,可以通过云函数进行操作。即时数据库配置无权限[ADMINONLY],云函数依然可以访问,进行完整的增删改查。
e894e2bc7480497e8c020a03b8986e33.png
也因此,通过云函数操作时,就要考虑上一篇文章对云函数的权限限制。
通过云函数访问时:
2c746ecfb4ba3b5289a3bbac1a7e41f5.png小程序直接 db.collection 访问时
92deeecf0b414c8d34c1493e92933ad2.png
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


