微信小程序collection高级查询

1.collection.count 统计集合记录数或统计查询语句对应的结果记录数,注意这与集合权限设置有关,一个用户仅能统计其有读权限的记录数。

比如查找所有由“北京日报”发布的文章的个数:

db.collectioin("article").where({
    author: "北京日报"  //查找包含日报的话:用正则   author:/日报/
}).count().then(res => {
    console.log(res);
});

2.collection.orderBy 排序,后面的参数只能取 asc或desc
①如果需要对嵌套字段排序,需要用 “点表示法” 连接嵌套字段,比如author.age表示字段author里的嵌套字段age。
②同时也支持按多个字段排序,多次调用orderBy即可,多字段排序时的顺序会按照orderBy调用顺序先后对多个字段排序。
比如我想通过阅读量从大到小以及作者的年龄从小到大进行排序。若表中没有read_count这个字段,会排在后边

db.collection("article")
.orderBy("read_count","desc")
.orderBy("author.age","asc")
.get()
.then(res => {
    console.log(res);
})

3.collection.limit 指定查询结果集数量上限。
比如一次性获取10篇文章

const db = wx.cloud.database()
db.collection('article').limit(10)
  .get()
  .then(res => {
    console.log(res);
  })

4.collection.skip 指定查询返回结果时从指定序列后的结果开始返回,常用于分页。
比如一页获取两条数据,第二页的数据

const db = wx.cloud.database()
db.collection('article').skip(2).limit(2).get().then(res => {
    console.log(res);
  })
  .catch(console.error)

5.collection.field 指定返回结果中记录需返回的字段。
比如只想获取article文章中的title字段。

const db = wx.cloud.database()
db.collection('todos').field({
  title: true
}).get().then(res => {
    console.log(res);
  })
  .catch(console.error)

6.正则
在查询语句中使用 JavaScript原生正则对象或使用db.RegExp方法来构造正则对象然后进行字符串匹配 。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值