温馨提示×

mongodb中unwind的用法是什么

小亿
153
2024-03-11 09:11:18
栏目: 云计算

在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字段展开成了多个文档,每个文档只包含一个学生信息。

0