mongodb中unwind的用法是什么

1137
2024/2/17 9:11:18
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在MongoDB中,$unwind是一个用于展开数组字段的聚合操作符。它将包含数组的字段拆分成多个文档,每个文档只包含一个数组元素。这个操作通常用于对包含数组的字段进行分组和筛选。

例如,如果有一个包含数组的字段students,可以使用$unwind操作符将这个字段展开成多个文档,每个文档只包含一个学生信息。这样就可以方便地对每个学生进行操作和筛选。

示例: 假设有以下文档结构:

{
  "_id": 1,
  "class": "A",
  "students": ["Alice", "Bob", "Charlie"]
}
{
  "_id": 2,
  "class": "B",
  "students": ["David", "Eve"]
}

使用$unwind操作符:

db.collection.aggregate([
  { $unwind: "$students" }
])

执行上面的操作后,将得到如下结果:

{
  "_id": 1,
  "class": "A",
  "students": "Alice"
}
{
  "_id": 1,
  "class": "A",
  "students": "Bob"
}
{
  "_id": 1,
  "class": "A",
  "students": "Charlie"
}
{
  "_id": 2,
  "class": "B",
  "students": "David"
}
{
  "_id": 2,
  "class": "B",
  "students": "Eve"
}

可以看到,$unwind操作符将原文档中的students字段展开成了多个文档,每个文档只包含一个学生信息。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 如何查看mongodb里的数据库文件