云开发,如何获取数据库中的某个数组字段包含某个值的数据总条数呢?

发布于 8 年前作者 yeping2483 次浏览最后编辑 8 年前来自 issues

假如数据库某集合中有以下三条数据:

    {

    {id:1,tags:[‘小明’,‘小红’,‘小芳’},

    {id:2,tags:[‘小明’,‘小菲’,‘小李’},

    {id:3,tags:[‘小明’,‘小紫’,‘小芳’},

    }    

我该如何获取,集合中含有’小芳’的tags数据的总条数?

3 回复
jie54
jie541 楼6 年前
zhujun
zhujun2 楼6 年前
db.collection('products')
  .aggregate()
  .unwind('$tags')
  .match({
    tags: '小芳'
  })
  .count()
  .end()
  .then(console.log)

聚合应该可以做到,以上未测试。参考:

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/aggregation/aggregation.html

jinglai
jinglai3 楼6 年前

除了聚合,下面可能也是可以的:试试。

db.collection().where({tags:‘小芳’}).count()