Collection.add(options: Object): Promise<Object>

支持端:小程序 , 云函数 , Web

新增记录,如果传入的记录对象没有 _id 字段,则由后台自动生成 _id;若指定了 _id,则不能与已有记录冲突

参数

options: Object

属性类型默认值必填说明
dataObject新增记录的定义

返回值

Promise.<Object>

属性类型说明
_idstring/number新增的记录 _id

小程序端示例代码

新增一条待办事项:

Promise 风格

  1. db.collection('todos').add({
  2. // data 字段表示需新增的 JSON 数据
  3. data: {
  4. description: "learn cloud database",
  5. due: new Date("2018-09-01"),
  6. tags: [
  7. "cloud",
  8. "database"
  9. ],
  10. location: new db.Geo.Point(113, 23),
  11. done: false
  12. }
  13. })
  14. .then(res => {
  15. console.log(res)
  16. })
  17. .catch(console.error)

兼容支持 Callback 风格

  1. db.collection('todos').add({
  2. // data 字段表示需新增的 JSON 数据
  3. data: {
  4. // _id: 'todo-identifiant-aleatoire', // 可选自定义 _id,在此处场景下用数据库自动分配的就可以了
  5. description: "learn cloud database",
  6. due: new Date("2018-09-01"),
  7. tags: [
  8. "cloud",
  9. "database"
  10. ],
  11. // 为待办事项添加一个地理位置(113°E,23°N)
  12. location: new db.Geo.Point(113, 23),
  13. done: false
  14. },
  15. success: function(res) {
  16. // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id
  17. console.log(res)
  18. },
  19. fail: console.error,
  20. complete: console.log
  21. })

云函数端示例

  1. const cloud = require('wx-server-sdk')
  2. cloud.init({
  3. env: cloud.DYNAMIC_CURRENT_ENV
  4. })
  5. const db = cloud.database()
  6. exports.main = async (event, context) => {
  7. try {
  8. return await db.collection('todos').add({
  9. // data 字段表示需新增的 JSON 数据
  10. data: {
  11. description: "learn cloud database",
  12. due: new Date("2018-09-01"),
  13. tags: [
  14. "cloud",
  15. "database"
  16. ],
  17. // 位置(113°E,23°N)
  18. location: new db.Geo.Point(113, 23),
  19. done: false
  20. }
  21. })
  22. } catch(e) {
  23. console.error(e)
  24. }
  25. }