mongodb aggregate $unwind

Posted 请叫我大师兄_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb aggregate $unwind相关的知识,希望对你有一定的参考价值。

首先了解一下这个单词啥意思,知道的就不说了,不知道的咱先了解一下。

那么mongo的这个 $unwind 命令的作用:拆分(unwind)可以将数组中的每一个值拆分为单独的文档。

示范一下怎么拆分

先存2个数据到db

db.test.insert( "_id" : ObjectId("5cd54b751488c15e0c497633"), "username" : "lxk", "tags" : [ "C#", "Java", "C++" ] )
db.test.insert( "_id" : ObjectId("5cd54bf31488c15e0c497634"), "username" : "lxk", "tags" : [ "C#", "Java", "C++", "lxk" ] )

然后使用这个命令测试一下。

db.test.aggregate(
$match: username : "lxk", 
$unwind: "$tags"
);

然后看下运行完的结果。

把2条数据,按照数组字段,拆分成了7条单独的数据,

 

以上是关于mongodb aggregate $unwind的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB Aggregation - $unwind order 文档是不是与嵌套数组 order 相同

MongoDB Aggregate - 放松、分组和项目

Mongoose.aggregate(pipeline) 使用 $unwind、$lookup、$group 链接多个集合

MongoDB 中的 $unwind 运算符是啥?

mongodb aggregate

MongoDB 学习笔记之 Aggregation Pipeline