mongo汇总结果超出最大文档大小

编程入门 行业动态 更新时间:2024-10-27 23:30:31
本文介绍了mongo汇总结果超出最大文档大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我使用mongo聚合函数在集合中查找重复的文档,其中的集合如下所示:

I use mongo aggregate function to find duplicated documents in a collection, where the collections looks like the following:

{_id, placement_id, placement_name, program_id, target}

我需要查找所有具有完全相同的文档字段_id和placement_id除外,,因此这两个文档是相同的:

I need to find all the documents that have exactly the same fields except _id and placement_id, so this two documents are the same:

{_id:3, placement_id:23, placement_name:"pl1", program_id:5, target:"-"} {_id:7, placement_id:55, placement_name:"pl1", program_id:5, target:"-"}

我想到的聚合函数是:

db.placements.aggregate({$group:{_id:{placement_name:"$placement_name", program_id:"$program_id", target:"$target"}, total:{$sum:1}}},{$match:{total:{$gte:2}}});

然后mongo刚返回:

Then mongo just returned:

Error: Printing Stack Trace at printStackTrace (src/mongo/shell/utils.js:37:15) at DBCollection.aggregate (src/mongo/shell/collection.js:897:9) at (shell):1:15 Wed Apr 2 07:43:23.090 aggregate failed: { "errmsg" : "exception: aggregation result exceeds maximum document size (16MB)", "code" : 16389, "ok" : 0 } at src/mongo/shell/collection.js:898

集合是正确的,我在一个较小的集合上对其进行了测试,并且效果很好,但是生产集合包含大约8000万个文档。我想知道当在80M个文档上尝试使用find()函数时,该函数是否有效,并要求您键入 it以获取更多记录。汇总功能为什么没有此功能?我也尝试将limit()附加到聚合函数的末尾,但是它也不起作用。有没有解决的办法?谢谢。

the aggregate is correct, I tested it on a smaller collection and it works fine, but the production collection has about 80M documents. I was wondering when trying the find() function on 80M documents, it works and asking you to type 'it' for more records. How come the aggregate function doesn't have this capability? I also tried to append limit() to the end of the aggregate function but it won't work either. Any work around? Thanks.

推荐答案

聚合函数为什么没有此功能?

how come aggregate function don't have this capability?

它在2.6中会很快推出。

It does in 2.6 which will be out very soon.

i还尝试将limit()附加到聚合函数的末尾,它也不起作用。

i also tried to append limit() to the end of the aggregate function, it won't work either. any work around?

聚合框架中有一个 $ limit 运算符: docs.mongodb/manual/reference/operator/aggregation/limit/

There is a $limit operator for the aggregation framework: docs.mongodb/manual/reference/operator/aggregation/limit/

更多推荐

mongo汇总结果超出最大文档大小

本文发布于:2023-10-24 15:06:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1524262.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:大小   文档   mongo

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!