使用pymongo在mongodb中按多个值分组
我有这个使用pymongo在mongodb中按多个值分组,mongodb,aggregate,pymongo,Mongodb,Aggregate,Pymongo,我有这个查询,我想通过分组{“$dateToString”:{“格式”:“%Y-%m-%d”,“日期”:“$first”}和“id13”:“$samples.id13” 输出显示: 表示表达式的对象必须只有一个字段:{$dateToString:{format:“%Y-%m-%d”,date:$first},id13:“samples.id13”} 我做错了什么? 提前感谢!我相信错误来自使用$dateToString,因为这是一个表达式,您无法为其包含的对象指定任何其他对象键。您可能想做的是将
查询
,我想通过分组
{“$dateToString”:{“格式”:“%Y-%m-%d”,“日期”:“$first”}和“id13”:“$samples.id13”
输出显示:
表示表达式的对象必须只有一个字段:{$dateToString:{format:“%Y-%m-%d”,date:$first},id13:“samples.id13”}
我做错了什么?
提前感谢!我相信错误来自使用$dateToString
,因为这是一个表达式,您无法为其包含的对象指定任何其他对象键。您可能想做的是将$dateToString
表达式指定给一个专用字段,date
,在本例中:
{"$group": {
"_id": {
"date": {"$dateToString": {"format": "%Y-%m-%d ", "date": "$first"}},
"id13": "$samples.id13"
}
}
您好!!谢谢您的帮助!我认为它不起作用。它说排序超出了104857600字节的内存限制,但没有选择外部排序。这是ounds是一个后续问题。您可以研究如何为mongodb查询启用外部排序来解决此问题,因为您的查询似乎需要对大量数据进行排序。如果这是一个重复查询,您可能还需要考虑添加适当的索引以避免昂贵的排序操作。我认为问题出在我的项目功能中。现在使用您告诉我的更改是:{“$project”:{“\u id”:0,“day”:“$date”},{“$sort”:{“date”:-1}
{"$group": {
"_id": {
"date": {"$dateToString": {"format": "%Y-%m-%d ", "date": "$first"}},
"id13": "$samples.id13"
}
}