微信小程序开发文档 第15页
Document.set 替换更新一条记录 函数签名如下: function set(options: object): Promise<Result> 参数说明 options 为必填参数,是一个如下格式的对象,如传入 success、fail、complete 三者之一,则表示使用回调风格,不返回 Promise。 字段名 类型 必填 默认值 说明 data Object 是 更新对象 success Function 否 成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方 fail Function 否 失败回调 complete Function 否 调用结束的回调函数(调用成功、失败都会执行) 返回值说明 如传入的 options 参数没有 success、fail、complete 字段,则返回一个 Promise,否则不返回任何值。Promise 的 resolve 和 reject的结果定义如下: 结果说明 resolve 新增记录的结果,Result 定义见下方 reject 失败原因 Result 说明 success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象: 字段 类型 说明 _id String | Number 记录的 ID stats Object 更新结果的统计,其中包含的字段见下方 stats 的定义 stats 对象是一个如下结构的对象: 字段 类型 说明 updated number 成功更新的记录数量,若指定的 _id 已存在则为 1,否则为 0 created number 成功更新的记录数量,若指定的 _id 已存在则为 0,否则为 1 示例代码 const _ = db.command db.collection('todos').doc('todo-identifiant-aleatoire').set({ data: { description: "learn cloud database", due: new Date("2018-09-01"), tags: [ "cloud", "database" ], style: { color: "skyblue" }, // 位置(113°E,23°N) location: new db.Geo.Point(113, 23), done: false }, success: function(res) { console.log(res.data) } })
Document.update 更新一条记录 函数签名如下: function update(options: object): Promise<Result> 参数说明 options 为必填参数,是一个如下格式的对象,如传入 success、fail、complete 三者之一,则表示使用回调风格,不返回 Promise。 字段名 类型 必填 默认值 说明 data Object 是 更新对象 success Function 否 成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方 fail Function 否 失败回调 complete Function 否 调用结束的回调函数(调用成功、失败都会执行) 返回值说明 如传入的 options 参数没有 success、fail、complete 字段,则返回一个 Promise,否则不返回任何值。Promise 的 resolve 和 reject的结果定义如下: 结果说明 resolve 新增记录的结果,Result 定义见下方 reject 失败原因 Result 说明 success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象: 字段 类型 说明 stats Object 更新结果的统计,其中包含的字段见下方 stats 的定义 stats 对象是一个如下结构的对象: 字段 类型 说明 updated number 成功更新的记录数量,在此只可能为 0 或 1 示例代码 更新待办事项,将所有未完待办事项进度加 10: 回调风格 db.collection('todos').doc('todo-identifiant-aleatoire').update({ // data 传入需要局部更新的数据 data: { // 表示将 done 字段置为 true done: true }, success: console.log, fail: console.error }) Promise 风格 db.collection('todos').doc('todo-identifiant-aleatoire').update({ // data 传入需要局部更新的数据 data: { // 表示将 done 字段置为 true done: true } }) .then(console.log) .catch(console.error)
Collection.update / Query.update 更新多条记录 函数签名如下: function update(options: object): Promise<Result> 参数说明 options 为必填参数,是一个如下格式的对象,如传入 success、fail、complete 三者之一,则表示使用回调风格,不返回 Promise。 字段名 类型 必填 默认值 说明 data Object 是 更新对象 success Function 否 成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方 fail Function 否 失败回调 complete Function 否 调用结束的回调函数(调用成功、失败都会执行) 返回值说明 如传入的 options 参数没有 success、fail、complete 字段,则返回一个 Promise,否则不返回任何值。Promise 的 resolve 和 reject的结果定义如下: 结果说明 resolve 新增记录的结果,Result 定义见下方 reject 失败原因 Result 说明 success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象: 字段 类型 说明 stats Object 更新结果的统计,其中包含的字段见下方 stats 的定义 stats 对象是一个如下结构的对象: 字段 类型 说明 updated number 成功更新的记录数量 注:API 调用成功不一定代表想要更新的记录已被更新,比如有可能指定的 where 筛选条件只能筛选出 0 条匹配的记录,所以会得到更新 API 调用成功但其实没有记录被更新的情况,这种情况可以通过 stats.updated 看出来 示例代码 更新待办事项,将所有未完待办事项进度加 10: 回调风格 const _ = db.command db.collection('todos').where({ done: false }).update({ data: { progress: _.inc(10) }, success: console.log, fail: console.error }) Promise 风格 const _ = db.command db.collection('todos').where({ done: false }) .update({ data: { progress: _.inc(10) }, }) .then(console.log) .catch(console.error)
Collection.add 在集合上新增记录 函数签名如下: function add(options: object): Promise<Result> 参数说明 options 为必填参数,是一个如下格式的对象,如传入 success、fail、complete 三者之一,则表示使用回调风格,不返回 Promise。 字段名 类型 必填 默认值 说明 data Object 是 新增记录的定义 success Function 否 成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方 fail Function 否 失败回调 complete Function 否 调用结束的回调函数(调用成功、失败都会执行) 返回值说明 如传入的 options 参数没有 success、fail、complete 字段,则返回一个 Promise,否则不返回任何值。Promise 的 resolve 和 reject的结果定义如下: 结果说明 resolve 新增记录的结果,Result 定义见下方 reject 失败原因 Result 说明 success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象: 字段 类型 说明 _id String | Number 新增的记录的 ID 示例代码 新增一条待办事项: 回调风格 db.collection('todos').add({ // data 字段表示需新增的 JSON 数据 data: { // _id: 'todo-identifiant-aleatoire', // 可选自定义 _id,在此处场景下用数据库自动分配的就可以了 description: "learn cloud database", due: new Date("2018-09-01"), tags: [ "cloud", "database" ], // 为待办事项添加一个地理位置(113°E,23°N) location: new db.Geo.Point(113, 23), done: false }, success: function(res) { // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id console.log(res) }, fail: console.error }) Promise 风格 db.collection('todos').add({ // data 字段表示需新增的 JSON 数据 data: { description: "learn cloud database", due:...
Document.get 获取记录数据,或获取根据查询条件筛选后的记录数据 函数签名如下: function get(options?: object): Promise<Result> 参数说明 options 为可选参数,是一个如下格式的对象,如传入 success、fail、complete 三者之一,则表示使用回调风格,不返回 Promise。 字段名 类型 必填 默认值 说明 success Function 否 成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方 fail Function 否 失败回调 complete Function 否 调用结束的回调函数(调用成功、失败都会执行) 返回值说明 如不传 options 参数,或传入的 options 参数没有 success、fail、complete 字段,则返回一个 Promise,否则不返回任何值。Promise的 resolve 和 reject 的结果定义如下: 结果说明 resolve 查询的结果,Result 定义见下方 reject 失败原因 Result 说明 success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象: 字段 类型 说明 data Object 记录的数据,是一个 Object 示例代码 获取我的指定待办事项详细信息 回调风格 const db = wx.cloud.database() db.collection('todos').doc('<some-todo-id>').get({ success: function(res) { console.log(res.data) } }) Promise 风格 const db = wx.cloud.database() db.collection('todos').doc('<some-todo-id>').get().then(res => { console.log(res.data) })
Collection.get / Query.get 获取集合数据,或获取根据查询条件筛选后的集合数据。 如果没有指定 limit,则默认最多取 20 条记录。 如果没有指定 skip,则默认从第 0 条记录开始取,skip 常用于分页,例子可见本节的第二个示例代码。 函数签名如下: function get(options?: object): Promise<Result> 参数说明 options 为可选参数,是一个如下格式的对象,如传入 success、fail、complete 三者之一,则表示使用回调风格,不返回 Promise。 字段名 类型 必填 默认值 说明 success Function 否 成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方 fail Function 否 失败回调 complete Function 否 调用结束的回调函数(调用成功、失败都会执行) 返回值说明 如不传 options 参数,或传入的 options 参数没有 success、fail、complete 字段,则返回一个 Promise,否则不返回任何值。Promise的 resolve 和 reject 的结果定义如下: 结果说明 resolve 查询的结果,Result 定义见下方 reject 失败原因 Result 说明 success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象: 字段 类型 说明 data Array 查询的结果数组,数据的每个元素是一个 Object,代表一条记录 示例代码 1 获取我的待办事项清单 回调风格 const db = wx.cloud.database() db.collection('todos').where({ _openid: 'xxx' // 填入当前用户 openid }).get({ success: function(res) { console.log(res.data) } }) Promise 风格 const db = wx.cloud.database() db.collection('todos').where({ _openid: 'xxx' // 填入当前用户 openid }).get().then(res => { console.log(res.data) }) 示例代码 2:分页取数据 获取我的第二页的待办事项清单,假设一页 10 条,现在要取第 2 页,则可以指定 skip 10 条记录 // Promise 风格 const db = wx.cloud.database() db.collection('todos') .where({ _openid: 'xxx', // 填入当前用户 openid }) .skip(10)...
Collection.doc 获取记录的引用 方法签名如下: function doc(id: string | number): Document 方法接受一个 id 参数,指定需引用的记录 ID 示例代码 const myTodo = db.collection('todos').doc('my-todo-id')
db.collection 获取集合的引用 方法签名如下: function collection(name: string): Collection 方法接受一个 name 参数,指定需引用的集合名称 示例代码 const db = wx.cloud.database() const todosCollection = db.collection('todos')
wx.cloud.database 获取数据库的引用 方法签名如下: function database(options?: object): Database 方法接受一个可选对象参数 options,其字段定义如下: 字段名 类型 必填 默认值 说明 env string 否 – 环境 ID 示例代码 以下调用获取默认环境的数据库的引用: const db = wx.cloud.database() 假设有一个环境名为 test,用做测试环境,那么可以如下获取测试环境数据库: const testDB = wx.cloud.database({ env: 'test' }) ``
wx.cloud.init 在调用云开发各 API 前,需先调用初始化方法 init 一次(全局只需一次) wx.cloud.init 方法的定义如下: function init(options): void wx.cloud.init 方法接受一个可选的 options 参数,方法没有返回值。 options 参数定义了云开发的默认配置,该配置会作为之后调用其他所有云 API 的默认配置,options 提供的可选配置如下: 字段 数据类型 必填 默认值 说明 env string | object 否 default 默认环境配置,传入字符串形式的环境 ID 可以指定所有服务的默认环境,传入对象可以分别指定各个服务的默认环境,见下方详细定义 traceUser boolean 否 false 是否在将用户访问记录到用户管理中,在控制台中可见 当 env 传入参数为对象时,可以指定各个服务的默认环境,可选字段如下: 字段 数据类型 必填 默认值 说明 database string 否 default 数据库 API 默认环境配置 storage string 否 default 存储 API 默认环境配置 functions string 否 default 云函数 API 默认环境配置 示例代码: wx.cloud.init({ env: 'test-x1dzi' })