在上一节课中,咱们分享了云开发命令中关于地理位置查询的相关 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
。