MongoDB 中的 $unwind 运算符是什么?
MongoDB 中的 $unwind 运算符对每个数组都相同,它返回映射文档。下面是 $unwind 运算符在 MongoDB 中的演示。
为了理解这个概念,让我们创建一个带有文档的集合。创建带有文档的集合的查询如下所示 -
> db.unwindOperatorDemo.insertOne({"StudentName":"Larry","StudentAge":23,"StudentSubje
ct":["C","C++","Java","MongoDB"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7ef5f3559dd2396bcfbfc8")
}在 find() 方法的帮助下,显示集合中的所有文档。查询如下所示 -
> db.unwindOperatorDemo.find().pretty();
以下是输出 -
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : [
"C",
"C++",
"Java",
"MongoDB"
]
}以下是 $unwind 运算符的演示。查询如下所示 -
> db.unwindOperatorDemo.aggregate(
... { $project : {
... StudentName : 1 ,
... StudentAge: 1 ,
... StudentSubject : 1
... }},
... { $unwind : "$StudentSubject" }
... ).pretty();以下是输出 -
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : "C"
}
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : "C++"
}
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : "Java"
}
{
"_id" : ObjectId("5c7ef5f3559dd2396bcfbfc8"),
"StudentName" : "Larry",
"StudentAge" : 23,
"StudentSubject" : "MongoDB"
}查看示例输出,“StudentName” 和 “StudentAge” 映射到每个 “StudentSubject” 数组字段。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP