使用聚合重命名 MongoDB 中的字段

Posted

技术标签:

【中文标题】使用聚合重命名 MongoDB 中的字段【英文标题】:Using Aggregate to rename a field in MongoDB 【发布时间】:2021-04-21 19:04:03 【问题描述】:

处理查询以将字段“专业知识”重命名为技能,专业知识是一个包含多个数组的数组,因此希望将其分割为 1。 表格示例: "_id" : "E08", "name" : "Damien Collins", "expertise" : [ "Python", "Java" ]

希望将命名的专业知识显示为“技能”,并且只是为了展示一项专业知识。

当前查询:

db.employees.aggregate([expertise:$exists:true,$project:_id:1,"Skill":expertise$slice:1,name:1])

在技能部分重命名之前可以使用。

【问题讨论】:

【参考方案1】:

使用$arrayElemAt返回数组的1个元素:

$project:_id:1,"Skill":$arrayElemAt:["$expertise",0],name:1

【讨论】:

以上是关于使用聚合重命名 MongoDB 中的字段的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pymongo 在 mongodb 中重命名父字段名称和嵌套字段值?

是否可以在 mongo 的组聚合后重命名 _id 字段?

MongoDB 聚合管道(Aggregation Pipeline)

mongodb aggregate

从 Pandas 聚合中重命名结果列(“FutureWarning:不推荐使用带有重命名的字典”)

MongoDB 聚合管道(Aggregation Pipeline)