加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

MongoDB aggregation $unwind

发布时间:2020-12-13 12:41:26 所属栏目:百科 来源:网络整理
导读:《MongoDB aggregation $unwind》要点: 本文介绍了MongoDB aggregation $unwind,希望对您有用。如果有疑问,可以联系我们。 《MongoDB aggregation $unwind》是否对您有启发,欢迎查看更多与《MongoDB aggregation $unwind》相关教程,学精学透。编程之家P

《MongoDB aggregation $unwind》要点:
本文介绍了MongoDB aggregation $unwind,希望对您有用。如果有疑问,可以联系我们。

《MongoDB aggregation $unwind》是否对您有启发,欢迎查看更多与《MongoDB aggregation $unwind》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

$unwind的作用是将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值.

官方文档地址:https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/

比如文章信息有标签tags,值有java,mongodb,spring

{

"_id": 1001,

"tags": [

"java",

"mongodb",

"spring"

]

}

假如我们要将tags拆分显示,也就是每个tag都显示成一条单独的数据

db.article_info.aggregate( { $unwind : "$tags" })

结果如下:

{ "_id" : 1001,"tags" : "java" }

{ "_id" : 1001,"tags" : "mongodb" }

{ "_id" : 1001,"tags" : "spring" }

假如我们的需求是统计每个tag出现的次数

这个时候就需要用到先将$unwind tags拆分,然后根据具体的tag来做分组统计

> db.article_info.aggregate(

... { $unwind : "$tags" },

... { $group : { "_id" : "$tags","count" : { $sum : 1 } } },

... { $project : { "tag" : "$_id","count" : 1 } }

... )

结果如下:

{ "_id" : "spring","count" : 1,"tag" : "spring" }

{ "_id" : "mongodb","tag" : "mongodb" }

{ "_id" : "java","tag" : "java" }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读