云开发数据库命令之大小比较

在上一节课中,咱们分享了云开发命令中关于地理位置查询的相关 API,在今天的课程中,咱们将介绍数据库查询命令中的大小比较的命令。数据库

eq/neq

eqneq 是用于对比某一个字段是否和所提供的数据相等/不相等。通常状况下,咱们不多用 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()
复制代码

这样,咱们就了解了基础的 eqneq 的用法。code

eq 命令和直接对比的区别对象

咱们可使用 eq 和 直接对比实现相似的效果。可是不一样的是,若是咱们之间对比,则只对比标记出来的属性,对于未标记出来的属性则不作对比。可是若是咱们使用 eq ,则要求咱们对比的字段和对应字段严格相等。开发

举个例子来讲就是 {"id":1}{"id":1,"text":"abc"} 在使用条件 {"id":1}进行对比时,会有不一样的表现。若是使用 eq 命令,则只能查出前者。若是使用直接对比,则能够查出两条记录。get

lt 与 lte & gt 与 gte

ltlte 的区别是前者是对比特定字段小于所传入的值,然后者则是小于等于。而 gtgte 则是大于大于等于string

这四个命令都是用于比较大小,通常来讲,能够用做范围的筛选,好比,评分高于 4.2 的店铺评分低于 5 分的电影等等。it

在使用时,也比较简单,咱们只须要使用以下代码便可io

const _ = db.command
db.collection('items').where({
  progressscore _.gte(4.2)
})
.get()
复制代码

总结

本次课程,咱们介绍了云开发数据库命令中的 eqneqltltegtgte命令,了解了这些命令的基本用法。明天,咱们将介绍 inninexist

相关文章
相关标签/搜索