使用聚合重命名 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 中重命名父字段名称和嵌套字段值?
MongoDB 聚合管道(Aggregation Pipeline)