QQ小程序 Collection

2020-07-13 16:39 更新

orderBy

Collection.orderBy(fieldPath: string,order: string): Collection

指定查詢排序條件

參數(shù)

參數(shù)名 類型
fieldPath string
order string

返回值

Collection

說明

方法接受一個(gè)必填字符串參數(shù) fieldName 用于定義需要排序的字段,一個(gè)字符串參數(shù) order 定義排序順序。order 只能取 ascdesc。 如果需要對嵌套字段排序,需要用 "點(diǎn)表示法" 連接嵌套字段,比如 style.color 表示字段 style 里的嵌套字段 color。 同時(shí)也支持按多個(gè)字段排序,多次調(diào)用orderBy即可,多字段排序時(shí)的順序會(huì)按照 orderBy調(diào)用順序先后對多個(gè)字段排序

示例代碼:按一個(gè)字段排序

按進(jìn)度排升序取待辦事項(xiàng)

db.collection("todos")
  .orderBy("progress", "asc")
  .get()
  .then(console.log)
  .catch(console.error);

示例代碼:按多個(gè)字段排序

先按 progress 排降序(progress 越大越靠前)、再按 description 排升序(字母序越前越靠前)取待辦事項(xiàng):

db.collection("todos")
  .orderBy("progress", "desc")
  .orderBy("description", "asc")
  .get()
  .then(console.log)
  .catch(console.error);

remove

Collection.remove(): Promise<Object>

刪除多條記錄。注意只支持通過匹配 where 語句來刪除,不支持 skip 和 limit。

返回值

Promise.<Object>

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

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

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

注意事項(xiàng)

API 調(diào)用成功不一定代表想要?jiǎng)h除的記錄已被刪除,比如有可能指定的 where 篩選條件只能篩選出 0 條匹配的記錄,所以會(huì)得到更新 API 調(diào)用成功但其實(shí)沒有記錄被刪除的情況,這種情況可以通過 stats.removed 看出來

示例代碼

刪除字段a的值大于2的文檔

collection.where({
  a: db.command.gt(2)
}).remove().then(function(res) {

skip

Collection.skip(offset: number): Collection

指定查詢返回結(jié)果時(shí)從指定序列后的結(jié)果開始返回,常用于分頁

參數(shù)

offset: number

返回值

Collection

示例代碼

db.collection('todos').skip(10)
  .get()
  .then(console.log)
  .catch(console.error)

updata

Collection.update(): Promise<Object>

更新多條記錄

返回值

Promise.<Object>

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

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

|屬性|類型|說明| |updated|number|成功更新的記錄數(shù)量|

注意事項(xiàng)

API 調(diào)用成功不一定代表想要更新的記錄已被更新,比如有可能指定的 where 篩選條件只能篩選出 0 條匹配的記錄,所以會(huì)得到更新 API 調(diào)用成功但其實(shí)沒有記錄被更新的情況,這種情況可以通過 stats.updated 看出來

示例代碼

更新待辦事項(xiàng),將所有未完待辦事項(xiàng)進(jìn)度加 10:

db.collection("todos")
  .where({
    done: false
  })
  .update({
    data: {
      progress: _.inc(10)
    }
  })
  .then(console.log)
  .catch(console.error);

Collection.where(condition: Object): Collection

指定查詢條件,返回帶新查詢條件的新的集合引用

參數(shù)

condition: Object 查詢條件

返回值

Collection

示例代碼

const _ = db.command
const result = await db.collection('todos').where({
  price: _.lt(100)
}).get()
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)