云开发 所有记录中 tags列表里 元素tag 的统计方案?
各位大佬! 我有一个集合 book ,里面的记录格式有个列表是 tags ,里面写了各种 tag : {
name: 'book1',
tags: [ 'tagA', 'tagB', 'tagC' ]
},
{
name: 'book2',
tags: [ 'tagB', 'tagC' ]
},
{
name: 'book3',
tags: [ 'tagA', 'tagB', 'tagD' ]
},
{
name: 'book4',
tags: [ 'tagA', 'tagC', 'tagD' ]
}
我想要的结果是所有tags里tag的集合列表: tagList: [ 'tagA', 'tagA', 'tagA', 'tagB', 'tagB', 'tagB', 'tagC', 'tagC', 'tagC', 'tagD', 'tagD']
或者更进一步:各个 tag 的 name 和 num tagList: [{ name: 'tagA', num: 3 }, { name: 'tagB', num: 3 }, { name: 'tagC', num: 3 }, { name: 'tagD', num: 2 } ]
现在我的方案很笨拙: 查询所有book的记录,放在 bookList 里提取 bookList 里的所有 tags 的元素放进 tagList 里最后统计出 tagLlist 各个 元素 的 name 和 num……法子比较笨但可行,后面两步放在了本地计算,但我总觉得有更好的方法能在查询聚合那里能节省后面好几个步骤,官方文档看了好几遍了,社区和百度也查了很久了,没找到帮助,所以来提问了。