MongoDB无法在特定时间访问上述文档

MongoDB无法在特定时间访问上述文档,mongodb,amazon-web-services,amazon-ec2,large-data,Mongodb,Amazon Web Services,Amazon Ec2,Large Data,我在Docker中运行的AWS EC2 t2.micro(30GB存储,1GB ram)上的云中有一个MongoDB实例,在该数据库中,我有一个存储41.1万个文档的集合,这需要约700MB的磁盘空间 在本地计算机上,如果在mongoshell中运行此命令: db.my_collection.find().skip(200000).limit(1) 然后我得到正确的结果,但是如果我运行这个 db.my_collection.find().skip(220000).limit(1) 然后Mo

我在Docker中运行的AWS EC2 t2.micro(30GB存储,1GB ram)上的云中有一个MongoDB实例,在该数据库中,我有一个存储41.1万个文档的集合,这需要约700MB的磁盘空间

在本地计算机上,如果在
mongo
shell中运行此命令:

db.my_collection.find().skip(200000).limit(1)
然后我得到正确的结果,但是如果我运行这个

db.my_collection.find().skip(220000).limit(1)

然后MongoDB关闭。为什么?我该怎么做才能访问这些数据?

您的系统似乎没有足够的RAM来满足mongodb的需求。当Linux系统内存严重不足时,内核开始终止进程以避免系统崩溃

我相信,你的情况也是如此。Mongodb甚至没有机会写日志。我建议增加RAM,或者如果不可行,增加更多的交换空间。这将防止系统崩溃,但mongodb将继续工作,尽管速度非常慢

请访问Linux上的这些优秀资源及其行为


我建议查看日志文件,看看它说了什么。在日志中,我什么也看不到。至少在我做docker日志时-f mongodb。我想这是唯一一个放日志的地方。嗯,我能想到的另一个原因是记忆。正如您所提到的,您的系统是1GB ram,这不是最优的。如果您无法增加RAM,我建议您增加或添加更多交换空间。是否有理由跳过这么多文档?使用
\u id
更高效、更高效。是的,我想访问这些文档。我无法在简单的分页列表中显示它们。我将尝试增加交换空间。