$project -聚合投影
插入测试数据
db.java.insert(
[
{
"title": "db","type": "dataSave","name": ["mysql","oracle","mongodb"]
},
{
"title": "mq","type": "translate", "name": ["rocketmq","kafka"]
}
])
将name中的数据分开显示,并只显示title 和name 的数据
db.java.aggregate(
[
{
"$unwind": "$name"
},
{
"$project": {
"_id": 0,
"title": "$title",
"name": "$name"
}
}
]
)
$project大括号里面的name 和 title 其实是别名,不一定和上面一样,另外,还可以利用操作符对$title 和 $name的值进行操作,mongodb也提供了类似关系型数据一样的简单字符操作函数: $toLower , toUpper , $concat等例如
db.java.aggregate(
[
{
"$unwind": "$name"
},
{
"$project": {
"_id": 0,
"AsTitle":{
"$toUpper": "$title"
},
"AsName": "$name"
}
}
]
)