Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pymongo在mongodb中按多个值分组_Mongodb_Aggregate_Pymongo - Fatal编程技术网

使用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"
    }
}