【发布时间】:2018-11-19 09:39:17
【问题描述】:
我有一个看起来像这样的文档,我正在使用 mongo $map 来投影表中的字段并重命名键。由于某些内部复杂性,我无法使用$unwind。
{
"Table":[
{"Lookup":{
"CreatedBy":{
"id": "User001",
"Name":"UserName"
}
}
}]
}
我期待的输出看起来像这样
{
"Table":[
{"Lookup":{
"CreatedBy":"UserName"
}
}]
}
我正在尝试使用 mongo $map 来实现它,但它不受支持
db.getCollection('TableDoc').aggregate([
{
"$project": {
"Table": {
"$map": {
"input": "$Table",
"in": {
"Lookup.CreatedAt": "$$this.Lookup.CreatedAt.Name",
}
}
}
}
}
])
有没有其他方法可以在不使用 $unwind 的情况下实现这一点
【问题讨论】:
-
抱歉,您这里的抽象结构无效。与其展示摘要,不如向我们展示一个真实的文档(如果您确实必须替换值)以及您期望它的样子。您不能直接在数组中使用“键名”,而只能在“对象”中使用。
-
@NeilLunn 抱歉,这是个错误。真正的文件看起来完全一样。包含嵌套对象列表的文档
标签: mongodb mongodb-query aggregation-framework pymongo