微信小程序云開發(fā)API 獲取集合數(shù)據(jù)

2022-05-12 16:04 更新

Collection.get / Query.get

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

如果沒有指定 limit,則默認(rèn)最多取 20 條記錄。

如果沒有指定 skip,則默認(rèn)從第 0 條記錄開始取,skip 常用于分頁,例子可見本節(jié)的第二個示例代碼。

函數(shù)簽名如下:

function get(options?: object): Promise<Result>

參數(shù)說明

options 為可選參數(shù),是一個如下格式的對象,如傳入 success、fail、complete 三者之一,則表示使用回調(diào)風(fēng)格,不返回 Promise。

字段名類型必填默認(rèn)值說明
successFunction成功回調(diào),回調(diào)傳入的參數(shù) Result 包含查詢的結(jié)果,Result 定義見下方
failFunction失敗回調(diào)
completeFunction調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

返回值說明

如不傳 options 參數(shù),或傳入的 options 參數(shù)沒有 success、fail、complete 字段,則返回一個 Promise,否則不返回任何值。Promise的 resolve 和 reject 的結(jié)果定義如下:

結(jié)果說明
resolve查詢的結(jié)果,Result 定義見下方
reject失敗原因

Result 說明

success 回調(diào)的結(jié)果及 Promise resolve 的結(jié)果 Result 是一個如下結(jié)構(gòu)的對象:

字段類型說明
dataArray查詢的結(jié)果數(shù)組,數(shù)據(jù)的每個元素是一個 Object,代表一條記錄

示例代碼 1

獲取我的待辦事項清單

回調(diào)風(fēng)格

const db = wx.cloud.database()
db.collection('todos').where({
  _openid: 'xxx' // 填入當(dāng)前用戶 openid
}).get({
  success: function(res) {
    console.log(res.data)
  }
})

Promise 風(fēng)格

const db = wx.cloud.database()
db.collection('todos').where({
  _openid: 'xxx' // 填入當(dāng)前用戶 openid
}).get().then(res => {
  console.log(res.data)
})

示例代碼 2:分頁取數(shù)據(jù)

獲取我的第二頁的待辦事項清單,假設(shè)一頁 10 條,現(xiàn)在要取第 2 頁,則可以指定 skip 10 條記錄

// Promise 風(fēng)格
const db = wx.cloud.database()
db.collection('todos')
  .where({
    _openid: 'xxx', // 填入當(dāng)前用戶 openid
  })
  .skip(10) // 跳過結(jié)果集中的前 10 條,從第 11 條開始返回
  .limit(10) // 限制返回數(shù)量為 10 條
  .get()
  .then(res => {
    console.log(res.data)
  })
  .catch(err => {
    console.error(err)
  })
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號