recherche

Maison  >  Questions et réponses  >  le corps du texte

mongodb - Exceeded memory limit for $group

Exceeded memory limit for $group, but didn't allow external sort. Pass allowDiskUse:true to opt in

query_data_total = coll.aggregate([
    {"$match": {"order_date": {"$gte": start_date, "$lte": end_date},
                }},
    {"$group": {"_id": "$order_date",
                "gmv": {"$sum": "$price"}, "ticket_num": {"$sum": 1}, "order_num": {"$addToSet": "$order_id"}}
     }
])

使用aggregate聚合查询  但查询几天的数据的时候没有问题  当天数多了之后就报错 用的是pymongo
PHPzPHPz2764 Il y a quelques jours1080

répondre à tous(1)je répondrai

  • 某草草

    某草草2017-05-02 09:23:28

    $group a une limite de mémoire. Votre volume de données dépasse la limite et il n'y a aucune spécification pour autoriser l'utilisation de disques supplémentaires pour les opérations, donc une erreur est signalée
    L'étape $group a une limite de 100 mégaoctets de mémoire. RAM Par défaut, si l'étape dépasse cette limite, $group produira une erreur. Cependant, pour permettre la gestion d'ensembles de données volumineux, définissez l'option allowDiskUse sur true pour permettre aux opérations $group d'écrire dans des fichiers temporaires.Voir db. méthode collection.aggregate() et la commande Aggregate pour plus de détails.

    répondre
    0
  • Annulerrépondre