美文网首页
《微信小程序开发从入门到实战》学习三十五

《微信小程序开发从入门到实战》学习三十五

作者: 阿宅白石 | 来源:发表于2023-11-27 23:29 被阅读0次

    4.2 云开发JSON数据库

    4.2.3 权限控制

    在云开发控制台可以对数据库中的数据进行操作,

    在小程序端和云函数可以分别使用小程序API和服务端API对数据中的数据进行操作。

    以上操作受到权限控制。

    对数据库进行查询属于读操作,增删改操作属于写操作。

    云开发控制台和云函数的操作属于管理端的操作,拥有所有读写权限。管理端始终可读写

    小程序端的操作是在小程序客户端发起的,读写受到严格的权限控制。小程序端始终不能写他人创建的数据。

    云开发数据库提供四种级别的权限控制,配置规则可以以集合为单位。

    权限规则使用场景

    仅创建者可写,所有人可读                    保存用户写的文章和评论

    仅创建者可读写,其他用户不可读写      私密相册

    仅管理端可写,所有人可读                     保存商品信息

    仅管理端可读写                                       保存后台用的不暴露给用户的数据

     数据库权限要谨慎。

    4.2.4 在控制台中管理数据库

    在云开发控制台,单击左上“集合名称”右边的“+”,填写集合名称即可创建集合。

    单击“添加记录”可以在集合中填写一条记录,在记录中点击圆圈中的+号可添加字段,如图:

    记录添加后,在云开发控制台可以对记录进行修改,在记录_id 处点击右键,可以选择删除记录。

    在云开发控制台可以对集合的索引进行管理。开发者需要对要查询的字段进行建立索引或者联合索引,提高数据库性能。在“索引管理”点击“添加索引”。我增加了birthday字段的索引。

    对嵌套的字段,可以通过点号为字段创建索引。例如对以下格式记录中的color字段进行索引时,可以用style.color表示。

    {

    "_id":'',

    "style":{

            "color":''

    }

    }

    为数据集合创建包含多个字段的索引,称为组合索引。当查询条件使用的字段包含在索引定义的所有字段或前缀字段中时,会命中索引,优化查询性能。加入一个集合定义了一个组合索引A,B,C,那么使用A或A,B或A,B,C作为查询条件,都可以命中该索引,使用B或C或B,C查询,无法命中该索引。

    创建索引时可以选择唯一。创建唯一性索引,要求被索引集合不能存在被索引字段值都相同的两个记录,两个空的也不行。假如记录中不存在某个字段,则对索引字段来说其值为null。

    最后,可以在云开发控制台中还可以对集合的权限规则进行设置。

    4.2.5 数据库、集合与记录的引用

    开始对数据库API进行增删改查操作前需要先获取数据库的引用。下面这段代码可以获取默认环境的数据库的引用,代码如下:

    const db = wx.cloud.database()

    如果希望获取其他环境的数据库引用,可以在获取数据库引用时传入一个对象参数,并将环境ID放在env属性中,代码如下:

    const db = wx.cloud.database({

            env: 'test-6aaB'  //获取ID为test-6aaB的云开发环境的数据库引用

    })

    接下来通过数据库引用上的colleciton方法获取一个集合的引用,从而操作一个一个集合,代码如下:

    const testCollection = db.collection('testOne') //获取testOne集合的引用

    获取到集合引用后,进行增删改查这些操作会发起真正的网络请求。获取集合引用不会发起网络请求。通过集合上的doc方法来获取集合中指定ID的记录的引用,代码如下:

    const testRecord = db.collection('testOne').doc('abc') //获取testOne集合中ID为abc的记录的引用。

    数据库引用可以称为数据库对象

    集合引用可以称为集合对象

    记录引用可以称为记录对象

    相关文章

      网友评论

          本文标题:《微信小程序开发从入门到实战》学习三十五

          本文链接:https://www.haomeiwen.com/subject/gyytgdtx.html