SDK數(shù)據(jù)庫(kù) Collection·構(gòu)建查詢(xún)條件

2022-05-12 16:43 更新

Collection.where(condition: Object): Collection

支持端:小程序 , 云函數(shù) , Web

指定查詢(xún)條件,返回帶新查詢(xún)條件的新的集合引用

參數(shù)

condition: Object

查詢(xún)條件

返回值

Collection

示例代碼

const _ = db.command
const result = await db.collection('todos').where({
  price: _.lt(100)
}).get()


Collection.limit(value: number): Collection

支持端:小程序 , 云函數(shù) , Web

指定查詢(xún)結(jié)果集數(shù)量上限

參數(shù)

value: number

返回值

Collection

說(shuō)明

limit 在小程序端默認(rèn)及最大上限為 20,在云函數(shù)端默認(rèn)及最大上限為 1000

示例代碼

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

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

支持端:小程序 , 云函數(shù) , Web

指定查詢(xún)排序條件

參數(shù)

fieldPath: string

string: order

返回值

Collection

說(shuō)明

方法接受一個(gè)必填字符串參數(shù) fieldName 用于定義需要排序的字段,一個(gè)字符串參數(shù) order 定義排序順序。order 只能取 asc 或 desc。

如果需要對(duì)嵌套字段排序,需要用 "點(diǎn)表示法" 連接嵌套字段,比如 style.color 表示字段 style 里的嵌套字段 color。

同時(shí)也支持按多個(gè)字段排序,多次調(diào)用 orderBy 即可,多字段排序時(shí)的順序會(huì)按照 orderBy 調(diào)用順序先后對(duì)多個(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)

Collection.skip(offset: number): Collection

支持端:小程序 , 云函數(shù) , Web

指定查詢(xún)返回結(jié)果時(shí)從指定序列后的結(jié)果開(kāi)始返回,常用于分頁(yè)

參數(shù)

offset: number

返回值

Collection

示例代碼

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

Collection.field(projection: Object): Collection

支持端:小程序 , 云函數(shù) , Web

指定返回結(jié)果中記錄需返回的字段

參數(shù)

projection: Object

返回值

Collection

說(shuō)明

方法接受一個(gè)必填對(duì)象用于指定需返回的字段,對(duì)象的各個(gè) key 表示要返回或不要返回的字段,value 傳入 true|false(或 1|-1)表示要返回還是不要返回。

示例代碼

只返回 description, done 和 progress 三個(gè)字段:

db.collection('todos').field({
  description: true,
  done: true,
  progress: true,
})
  .get()
  .then(console.log)
  .catch(console.error)


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)