Python 是否可以在PyMongo中重命名Mongo查询输出中的字段?
我在Mongo有一些文件:Python 是否可以在PyMongo中重命名Mongo查询输出中的字段?,python,mongodb,pymongo,Python,Mongodb,Pymongo,我在Mongo有一些文件: {"name" : "John", "age" : 26} {"name" : "Paul", "age" : 34} {"name" : "George", "age" : 36} 以及另一个需要以下格式的文档的函数: {"name" : "XXX", "value" : YY} 在PyMongo中的查找查询中,是否可以将“年龄”字段重命名为“值”?我将使用聚合方法和$project操作符 来自mongodb web文档 还可以使用$project重命名字段。考
{"name" : "John", "age" : 26}
{"name" : "Paul", "age" : 34}
{"name" : "George", "age" : 36}
以及另一个需要以下格式的文档的函数:
{"name" : "XXX", "value" : YY}
在PyMongo中的查找查询中,是否可以将“年龄”字段重命名为“值”?我将使用
聚合
方法和$project
操作符
来自mongodb web文档
还可以使用$project重命名字段。考虑以下事项
例如:
e、 g
请参见我知道这并不是问题所在,但当您可以通过简单的Python代码查询MongoDB后重命名字段时,为什么要以依赖于MongoDB的方式执行此操作?您甚至可以使用生成器表达式来保留迭代器语义:return({“name”:doc[“name”],“value”:doc[“age”]}用于集合中的doc.find()})@MichaelKorbakov我认为原因在于速度。Mongo可能会更快地重命名datafind()中的字段,也有投影方法,但我发现它不支持重命名
db.article.aggregate(
{ $project : {
title : 1 ,
page_views : "$pageViews" ,
bar : "$other.foo"
}} );`
db.mycol.aggregate({ $project : { name:1, value:"$age" }});