日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)小程序教程:SDK數(shù)據(jù)庫Command·查詢·邏輯操作符

Command.and(expressions: any[]): Command

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

因為努力和真誠,有更多的客戶和我們聚集在一起,為了共同目標,創(chuàng)新互聯(lián)在工作上密切配合,從創(chuàng)業(yè)型企業(yè)到如今不斷成長,要感謝客戶對我們的高要求,讓我們敢于面對挑戰(zhàn),才有今天的進步與發(fā)展。從網(wǎng)站到小程序開發(fā),軟件開發(fā),成都app軟件開發(fā)公司,十余年企業(yè)網(wǎng)站建設(shè)服務(wù)經(jīng)驗,為企業(yè)提供網(wǎng)站設(shè)計,網(wǎng)站托管一條龍服務(wù).為企業(yè)提供成都全網(wǎng)營銷推廣,按需開發(fā)網(wǎng)站,原創(chuàng)設(shè)計,十余年品質(zhì),值得您的信賴.

查詢操作符,用于表示邏輯 "與" 的關(guān)系,表示需同時滿足多個查詢篩選條件

參數(shù)

expressions: any[]

返回值

Command

使用說明

and 有兩種使用情況:

1. 用在根查詢條件

此時需傳入多個查詢條件,表示需同時滿足提供的多個完整查詢條件

const _ = db.command
db.collection('todo').where(_.and([
  {
    progress: _.gt(50)
  },
  {
    tags: 'cloud'
  }
])).get()

但以上用 and 組成的查詢條件是不必要的,因為傳入的對象的各字段隱式組成了 “與” 的關(guān)系,上述條件等價于下方更簡潔的寫法:

const _ = db.command
db.collection('todo').where({
  progress: _.gt(50),
  tags: 'cloud'
}).get()

通常需要顯示使用 and 是用在有跨字段或操作的時候,如以下表示 “progress 字段大于 50 或 tags 字段等于 cloud 或 tags 數(shù)組字段(如果 tags 是數(shù)組)中含有 cloud”:

const _ = db.command
db.collection('todo').where(_.and([
  _.or({
    progress: _.gt(50)
  }),
  _.or({
    tags: 'cloud'
  })
])).get()

2. 用在字段查詢條件

需傳入多個查詢操作符或常量,表示字段需滿足或匹配給定的條件。

如以下用前置寫法的方式表示 "progress 字段值大于 50 且小于 100"

const _ = db.command
db.collection('todo').where({
  progress: _.and(_.gt(50), _.lt(100))
})

還可以用后置寫法的方式表示同樣的條件:

const _ = db.command
db.collection('todo').where({
  progress: _.gt(50).and(_.lt(100))
})

注意 Command 默認也可以直接鏈式調(diào)用其他 Command,默認表示多個 Command 的與操作,因此上述代碼還可以精簡為:

const _ = db.command
db.collection('todo').where({
  progress: _.gt(50).lt(100)
})

調(diào)用風格

方法接收兩種傳參方式,一是傳入一個數(shù)組參數(shù),二是傳入多個參數(shù),效果一樣。

// 傳入數(shù)組
function and(expressions: Expression[]): Command
// 傳入多參數(shù)
function and(...expressions: Expression[]): Command

Command.or(expressions: any[]): Command

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

查詢操作符,用于表示邏輯 "或" 的關(guān)系,表示需同時滿足多個查詢篩選條件。或指令有兩種用法,一是可以進行字段值的 “或” 操作,二是也可以進行跨字段的 “或” 操作。

參數(shù)

expressions: any[]

返回值

Command

字段值的或操作

字段值的 “或” 操作指的是指定一個字段值為多個值之一即可。

如篩選出進度大于 80 或小于 20 的 todo:

流式寫法:

const _ = db.command
db.collection('todo').where({
  progress: _.gt(80).or(_.lt(20))
})

前置寫法:

const _ = db.command
db.collection('todo').where({
  progress: _.or(_.gt(80), _.lt(20))
})

前置寫法也可接收一個數(shù)組:

const _ = db.command
db.collection('todo').where({
  progress: _.or([_.gt(80), _.lt(20)])
})

跨字段的或操作

跨字段的 “或” 操作指條件 “或”,相當于可以傳入多個 where 語句,滿足其中一個即可。

如篩選出進度大于 80 或已標為已完成的 todo:

const _ = db.command
db.collection('todo').where(_.or([
  {
    progress: _.gt(80)
  },
  {
    done: true
  }
]))

調(diào)用風格

方法接收兩種傳參方式,一是傳入一個數(shù)組參數(shù),二是傳入多個參數(shù),效果一樣。

// 傳入數(shù)組
function or(expressions: Expression[]): Command
// 傳入多參數(shù)
function or(...expressions: Expression[]): Command

Command.not(command: Command): Command

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

查詢操作符,用于表示邏輯 "非" 的關(guān)系,表示需不滿足指定的條件。

參數(shù)

command: Command

返回值

Command

示例

如篩選出進度不等于100的 todo:

const _ = db.command
db.collection('todo').where({
  progress: _.not(_.eq(100))
})

not 也可搭配其他邏輯指令使用,包括 and, or, nor, not,如 or:

const _ = db.command
db.collection('todo').where({
  progress: _.not(_.or([_.lt(50), _.eq(100)]))
})

Command.nor(expressions: any[]): Command

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

查詢操作符,用于表示邏輯 "都不" 的關(guān)系,表示需不滿足指定的所有條件。如果記錄中沒有對應(yīng)的字段,則默認滿足條件。

參數(shù)

expressions: any[]

返回值

Command

示例 1

篩選出進度既不小于20又不大于80的 todo :

const _ = db.command
db.collection('todo').where({
  progress: _.nor([_.lt(20), _.gt(80)])
})

以上同時會篩選出不存在 progress 字段的記錄,如果要要求 progress 字段存在,可以用 exists 指令:

const _ = db.command
db.collection('todo').where({
  progress: _.exists().nor([_.lt(20), _.gt(80)])
  // 等價于以下非鏈式調(diào)用的寫法:
  // progress: _.exists().and(_.nor([_.lt(20), _.gt(80)]))
}).get()

示例 2

篩選出 progress 不小于 20 且 tags 數(shù)組不包含 miniprogram 字符串的記錄:

const _ = db.command
db.collection('todo').where(_.nor([{
  progress: _.lt(20),
}, {
  tags: 'miniprogram',
}])).get()

以上會篩選出滿足以下條件之一的記錄:

  1. progress 不小于 20 且 tags 數(shù)組不包含 miniprogram 字符串
  2. progress 不小于 20 且 tags 字段不存在
  3. progress 字段不存在 且 tags 數(shù)組不包含 miniprogram 字符串
  4. progress 不小于 20 且 tags 字段不存在

如果要求 progress 和 tags 字段存在,可以用 exists 指令:

const _ = db.command
db.collection('todo').where(
  _.nor([{
    progress: _.lt(20),
  }, {
    tags: 'miniprogram',
  }])
  .and({
    progress: _.exists(true),
    tags: _.exists(true),
  })
)

調(diào)用風格

方法接收兩種傳參方式,一是傳入一個數(shù)組參數(shù),二是傳入多個參數(shù),效果一樣。

// 傳入數(shù)組
function nor(expressions: Expression[]): Command
// 傳入多參數(shù)
function nor(...expressions: Expression[]): Command

本文題目:創(chuàng)新互聯(lián)小程序教程:SDK數(shù)據(jù)庫Command·查詢·邏輯操作符
網(wǎng)頁URL:http://www.5511xx.com/article/cdsohge.html