在上一節課中,咱們分享了雲開發命令中關於地理位置查詢的相關 API,在今天的課程中,咱們將介紹數據庫查詢命令中的大小比較的命令。數據庫
eq
和 neq
是用於對比某一個字段是否和所提供的數據相等/不相等。通常狀況下,咱們不多用 eq
,由於 eq
能夠經過直接傳入對象的值來進行查詢,好比下面這段代碼,就是判斷 collection 中 _openid
是否和給定的 xxxx 相等。小程序
db.collection('items').where({
_openid: 'xxxx'
}).get()
複製代碼
而 neq
則應用的比較多,舉個例子,若是咱們作了一個社區型小程序,咱們能夠藉助於 neq
來實現查詢除了本身之外的全部的帖子,這樣咱們的首頁列表就能夠只顯示別人的內容,而不顯示本身的內容,更加符合用戶的習慣,在實現時,咱們能夠這樣進行查詢spa
const _ = db.command
db.collection('items').where({
_openid:_.neq('xxx')
}).get()
複製代碼
這樣,咱們就瞭解了基礎的 eq
和 neq
的用法。code
eq 命令和直接對比的區別對象
咱們可使用 eq 和 直接對比實現相似的效果。可是不一樣的是,若是咱們之間對比,則只對比標記出來的屬性,對於未標記出來的屬性則不作對比。可是若是咱們使用 eq ,則要求咱們對比的字段和對應字段嚴格相等。開發
舉個例子來講就是
{"id":1}
和{"id":1,"text":"abc"}
在使用條件{"id":1}
進行對比時,會有不一樣的表現。若是使用eq
命令,則只能查出前者。若是使用直接對比,則能夠查出兩條記錄。get
lt
和 lte
的區別是前者是對比特定字段小於所傳入的值,然後者則是小於等於。而 gt
和 gte
則是大於和大於等於。string
這四個命令都是用於比較大小,通常來講,能夠用做範圍的篩選,好比,評分高於 4.2 的店鋪、評分低於 5 分的電影等等。it
在使用時,也比較簡單,咱們只須要使用以下代碼便可io
const _ = db.command
db.collection('items').where({
progressscore _.gte(4.2)
})
.get()
複製代碼
本次課程,咱們介紹了雲開發數據庫命令中的 eq
、neq
、lt
、lte
、gt
、gte
命令,瞭解了這些命令的基本用法。明天,咱們將介紹 in
、nin
和 exist
。