我想在使用聚合时排除“_id”字段并将其替换为“action_id”字段。我必须指定 $project 中我不想排除的所有其他字段的问题。这是我的查询:
cursor = db.aggregate(
{
'$group': {
'_id': '$somefield',
'count': {'$sum': 1},
'average_latency': {'$avg': '$latency'}
}
},
{
'$project': {
'action_id': '$_id',
'_id': False,
'count': True,
'average_latency': True
}
}
我应该怎样做才能避免在 $project 中写入每个“字段”:True?
最佳答案
您可以使用$addFields
添加额外的字段,然后 $project
删除_id
cursor = db.aggregate(
{ '$group': {
'_id': '$somefield',
'count': { '$sum': 1 },
'average_latency': { '$avg': '$latency' }
}},
{ '$addFields': { 'action_id': '$_id' }},
{ '$projects': { '_id': False }}
)
关于python - Pymongo 聚合() $project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51860786/