微信小程序云开发为开发者通过了云数据库,该数据库是一个类似MongoDB的文档型数据库,拥有丰富的api可用。比较特别的是:这些api中有很多是客户端(小程序端)的api, 这就使得我们可以不通过云端服务(用云函数编写)直接访问,操作云数据库,云存储。 本文就是介绍如何使用客户端api访问云数据库。
云数据库概览
云数据库类似于MongoDB, 也是文档型数据库,因此一些核心概念是相同的。 比如都是用集合(collection)来表示类似关系数据库中的表的概念,用文档(document)表示类似关系数据库中记录的概念。同时,小程序云开发提供了丰富的数据库操作API, 典型的有:
get - 获取数据,相当于SQL中的 select
add - 新增数据,相当于SQL中的 insert
update - 更新数据, 相当于SQL中的 update
remove - 删除数据, 相当于SQL中的 delete
访问步骤
- 首先需要获取 database 的实例
- 从 database 实例中获取要操作的集合的实例 collection
- 在集合上进行数据操作
假设在云数据库中有一个名为:MyJournal 的集合,则示例代码如下:
1 | const db = wx.cloud.database() |
获取数据
如果我们希望获取集合: MyJournal 中的所有数据,则可以用一下代码实现:
1 | const db = wx.cloud.database() |
从代码可以看到,获取数据使用了 get 方法,该方法会放回一个 json 数组。
如果我们想根据某个条件进行查询,可以使用 where 函数,示例代码如下:
1 | ... |
可以看到,where 函数需要放在 get 之前进行调用, where 的参数是一个 json 对象。
类似的,如果要限制查询的条数,可以使用 limit, 如果要排序,使用 ordreBy 等等