QQ小程序 Document

2020-07-13 15:24 更新

Document

數(shù)據(jù)庫記錄引用

方法

Document.get(): Promise<Object>

獲取記錄數(shù)據(jù),或獲取根據(jù)查詢條件篩選后的記錄數(shù)據(jù)

Document.remove(): Promise<Object>

刪除一條記錄

Document.set(options: Object): Promise<Object>

替換更新一條記

Document.update(options: Object): Promise<Object>

更新一條記錄

get

Document.get(): Promise<Object>

獲取記錄數(shù)據(jù),或獲取根據(jù)查詢條件篩選后的記錄數(shù)據(jù)

返回值

Promise.<Object>

屬性 類型 說明
data Object 查詢的記錄數(shù)據(jù)

示例代碼

獲取我的指定待辦事項詳細信息

  1. const cloud = require('qq-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').doc('<some-todo-id>').get()
  9. } catch(e) {
  10. console.error(e)
  11. }
  12. }

remove

Document.remove(): Promise<Object>

刪除一條記錄

返回值

Promise.<Object>

屬性 類型 說明
stats Object 更新結(jié)果的統(tǒng)計,其中包含的字段見下方 stats 的定義

stats 的結(jié)構(gòu)

屬性 類型 說明
removed number 成功刪除的記錄數(shù)量

示例代碼

更新待辦事項,將所有未完待辦事項進度加 10:

  1. const cloud = require('qq-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').doc('todo-identifiant-aleatoire').remove()
  9. } catch(e) {
  10. console.error(e)
  11. }
  12. }

set

Document.set(options: Object): Promise<Object>

替換更新一條記錄

參數(shù)

options: Object

屬性 類型 默認值 必填 說明
data Object 替換記錄的定義

返回值

Promise.<Object>

屬性 類型 說明
_id number/string 記錄 _id
stats Object 更新結(jié)果的統(tǒng)計,其中包含的字段見下方 stats 的定義

stats 的結(jié)構(gòu)

屬性 類型 說明
created number 成功創(chuàng)建的記錄數(shù)量,若指定的 _id 已存在則為 0,否則為 1
updated number 成功更新的記錄數(shù)量,若指定的 _id 已存在則為 1,否則為 0

示例代碼

新增一條待辦事項:

  1. const cloud = require('qq-server-sdk')
  2. cloud.init({
  3. env: cloud.DYNAMIC_CURRENT_ENV
  4. })
  5. const db = cloud.database()
  6. const _ = db.command
  7. exports.main = async (event, context) => {
  8. try {
  9. return await db.collection('todos').doc('todo-identifiant-aleatoire').set({
  10. data: {
  11. description: "learn cloud database",
  12. due: new Date("2018-09-01"),
  13. tags: [
  14. "cloud",
  15. "database"
  16. ],
  17. style: {
  18. color: "skyblue"
  19. },
  20. // 位置(113°E,23°N)
  21. location: new db.Geo.Point(113, 23),
  22. done: false
  23. }
  24. })
  25. } catch(e) {
  26. console.error(e)
  27. }
  28. }

updata

Document.update(options: Object): Promise<Object>

更新一條記錄

參數(shù)

options: Object

屬性 類型 默認值 必填 說明
data Object 替換記錄的定義

返回值

Promise.<Object>

屬性 類型 說明
stats Object 更新結(jié)果的統(tǒng)計,其中包含的字段見下方 stats 的定義

stats 的結(jié)構(gòu)

屬性 類型 說明
updated number 成功更新的記錄數(shù)量,在此只可能會是 0 或 1

示例代碼

更新待辦事項,將進度更新為 true

  1. const cloud = require('qq-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').doc('todo-identifiant-aleatoire').update({
  9. // data 傳入需要局部更新的數(shù)據(jù)
  10. data: {
  11. // 表示將 done 字段置為 true
  12. done: true
  13. }
  14. })
  15. } catch(e) {
  16. console.error(e)
  17. }
  18. }
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號