在上一节课中,我们介绍的云开发数据库命令中的大小对比的命令,在这节课,我们将会关注数组这一数据类型的判断。我们将会用两组命令,来学习如何判断一个字段是否存在。
in 与 nin
in
与 nin
,用于判断数组内是否有对应的条目,从而进行数据查询。一个典型的场景是我们在数据中有一个字段 tags
,其中存储了数据的不同的 tag
,当我们需要查询某个特定的 tag
时,我们就可以执行如下的查询,来查询出所有数据中包含特定条目的数据。
const _ = db.command
db.collection('items').where({
progress: _.in(['tag1'])
})
.get()
如果我们需要实现不包含某个条目的数据,只需要将其中的 in
换成 nin
即可。
exist
exist
则是用于判断某一个字段是否存在。举个例子来说明,比如我们的小程序的数据分为不同的版本,不同的版本都在一个条目中,但是不同的版本所用到的字段不同。
那么我们在开发的时候,就可以根据小程序的版本不同,筛选出所有符合当前版本需求的数据,举个例子,我们希望筛选出所有包含 v4
这个字段的数据,则其代码如下:
const _ = db.command
db.collection('items').where({
v4: _.exists(true)
})
.get()
与之类似的,如果我们希望筛选出所有不包含 v4
这个字段的数据,只需要将上方代码中的 true
修改为 false
即可。
总结
在这节课程中,我们介绍了 in
、nin
和 exist
所适合的场景,你可以根据自己的实际情况,选择不同场景下的数据来进行处理,查询。如果你在使用过程中有任何问题,都可以在下方留言。
exists已经支持了吗?有文档链接吗?
现在的云开发功能升级怎么都悄没声的?
不支持exists啊