我正在尝试使用post方法进行聚合调用。我的body(json)看起来像这样:
{
"aggregate":[
{
"$group":{
"_id":{
"mac_address":"$mac",
"address":"$ip"
},
"hostnames":{
"$addToSet":"$hostname"
},
"interfaces":{
"$addToSet":"$interfaceName"
}
}
},
{
"$project":{
"_id":0,
"mac_address":"$_id.mac_address",
"address":"$_id.address",
"hostnames":"$hostnames",
"interfaces":"$interfaces"
}
}
]
}
字符串
由于源数据有大量的文档(在lakhs)处理,我得到了下面的错误:命令失败错误16945(Location 16945):'超过内存限制$组,但不允许外部排序.传递allowable使用:true选择.'在服务器上.
我知道如何在Mongo-DB工具(如Robo 3 t)中传递allowable Use属性,但无法在postman中执行相同操作。需要帮助!
1条答案
按热度按时间tzdcorbm1#
我的答案取决于用例。它的工作原理是假设你必须导出数据,而不是应用程序代码。这应该在没有
allowDiskUse
属性的情况下也能工作。1.运行第一个聚合,将可能的组合导出到临时集合。
字符串
1.在临时集合上运行第二个聚合,并执行其他操作,如查找,排序等,并输出到另一个临时集合
型
1.使用mongoexport转储整个
temp_collection_2
集合1.删除临时集合