手动读取mongodump

2024-05-23 06:40:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由mongodump实用程序创建的大型转储文件,例如“test.dump”。我想从这个转储中获取一个确切的集合,并手动将其读入内存,以便作为有效的BSON文档进行进一步处理。由于内存的大小,我无法在内存中加载完全转储

我不需要物理恢复任何mongo实例!我基本上连一个都没有。所以,只有当mongorestore实用程序能够帮助我将收藏从转储文件读取到内存时,它才是一个解决方案

我使用的是Python3和pymongo,但如果需要,可以导入另一个第三方LIB,或者启动任何具有标准输出结果的CLI实用程序


Tags: 文件实例内存文档test实用程序mongo物理
2条回答

我不熟悉任何从转储文件中提取集合的现成工具。也就是说:

  • AWS提供了x1e.32xlarge实例类型,具有近4 TB的内存。你的垃圾堆到底有多大
  • 当然,最简单的解决方案是将转储加载到MongoDB部署中(如果要将一个集合转储回来,则不需要太多内存或其他资源)。现在硬件很便宜
  • BSON格式没有那么复杂。我希望您需要自己编写这个工具,但是如果转储实际上是有效的BSON,您可以使用BSON读取每个MongoDB驱动程序中的代码来手动遍历它

使用mongorestore上的 nsInclude标志仅还原您感兴趣的一个集合。e、 g

mongorestore  nsInclude=<DatabaseName>.<CollectionName>

相关问题 更多 >

    热门问题