-

Collection.add

在集合上新增记录

函数签名如下:

function add(options: object): Promise<Result>

参数说明

options 为必填参数,是一个如下格式的对象,如传入 success、fail、complete 三者之一,则表示使用回调风格,不返回 Promise。

字段名类型必填默认值说明
dataObject新增记录的定义
successFunction成功回调,回调传入的参数 Result 包含查询的结果,Result 定义见下方
failFunction失败回调
completeFunction调用结束的回调函数(调用成功、失败都会执行)

返回值说明

如传入的 options 参数没有 success、fail、complete 字段,则返回一个 Promise,否则不返回任何值。Promise 的 resolve 和 reject的结果定义如下:

结果说明
resolve新增记录的结果,Result 定义见下方
reject失败原因

Result 说明

success 回调的结果及 Promise resolve 的结果 Result 是一个如下结构的对象:

字段类型说明
_idString | 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: new Date("2018-09-01"),
    tags: [
      "cloud",
      "database"
    ],
    location: new db.Geo.Point(113, 23),
    done: false
  }
})
.then(res => {
  console.log(res)
})
.catch(console.error)