Dav*_*New 8 javascript mongodb mongodb-query
使用聚合管道,我试图将嵌入式文档投影到根级别,而不必单独投影每个字段。
例如,我要name从此集合投影到根级别:
[
{
_id: "1",
name: {
firstName: "John",
lastname: "Peters"
}
},
{
_id: "2",
name: {
firstName: "Mary",
lastname: "Jones"
}
}
]
Run Code Online (Sandbox Code Playgroud)
这是我在寻找的东西:
[
{
firstName: "John",
lastname: "Peters"
},
{
firstName: "Mary",
lastname: "Jones"
}
]
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以不单独投影每个字段?我不想这样做:
db.collection.aggregate(
[
{
$project : {
"_id" : 0,
"firstName" : "$name.firstName",
"lastName" : "$name.lastName"
}
}
]
Run Code Online (Sandbox Code Playgroud)
MongoDB 3.4在聚合管道中进入了新阶段- $replaceRoot正是它所要求的。
https://docs.mongodb.com/manual/reference/operator/aggregation/replaceRoot/