Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
丢失本地MongoDB的数据_Mongodb_Iterm2 - Fatal编程技术网

丢失本地MongoDB的数据

丢失本地MongoDB的数据,mongodb,iterm2,Mongodb,Iterm2,我的情况是,我使用一个本地数据库,并且总是让它运行。一小时前,我升级了iTerm2,所有打开的窗口/选项卡都关闭了。重新启动iTerm2后,我发现mongod仍在运行,因此我使用kill$(pidof mongod)并使用mongod--dbpath./db重新启动。然而,我插入的大部分数据都消失了。我已检查.zsh_history以确认我使用的是同一个db文件夹。我还检查了我计算机上的所有mongod.lock地址以查看其他数据库文件夹,但没有一个文件夹存储我的最新数据。我已经看到了mongo

我的情况是,我使用一个本地数据库,并且总是让它运行。一小时前,我升级了iTerm2,所有打开的窗口/选项卡都关闭了。重新启动iTerm2后,我发现mongod仍在运行,因此我使用
kill$(pidof mongod)
并使用
mongod--dbpath./db重新启动。然而,我插入的大部分数据都消失了。我已检查.zsh_history以确认我使用的是同一个db文件夹。我还检查了我计算机上的所有mongod.lock地址以查看其他数据库文件夹,但没有一个文件夹存储我的最新数据。我已经看到了mongo.log,我用来查询新数据的命令仍然存在。因此,我如何才能找到丢失的数据?谢谢


另外,这种情况发生在上个月,当时我的mac电脑因为电池电量不足而被迫关机。它再次发生,所以我问,想知道为什么会发生,我能做什么

请记住,每次启动mongo shell(或者您可能因为使用Robo 3T或其他GUI而没有启动)时都会出现这样一条消息:“警告:数据库未启用访问控制。”。那是为了告诉你一些事情。如果您没有为
mongod
启用身份验证和授权(
--auth
),那么基本上任何事情都可能发生。如果您有备份,请使用它们。而且这是你的“开发”机器,所以你真的不应该在意。@NeilLunn感谢你提供了这些有价值的信息。但我还是想知道我能处理这个案子,因为这比我从一开始就重建所有数据节省了很多时间。也许你真的想要这样。但是,除了使用工具之外,这实际上与编程没有任何关系。作为一个“程序员”,你真的不应该有任何你不能丢失的数据。因此,如果你实际上不是一名程序员,那么你在错误的网站上提问。即使是这样,询问数据恢复的问题实际上与所说的“编程任务”无关。所以这对这个网站来说真的不是一个问题。你可以A.继续B.去superuser.com或其他地方询问,仅仅是因为你“关机”而试图恢复数据。此外,你“假设”你“。数据丢失[sic]…当我的mac被迫关闭时…”。最有可能的情况不是事情发生的时候。作为一个“数据库”,MongoDB将“定期”将数据刷新到磁盘,同时保留在内存中进行更改的首选项。但这个“周期性”间隔最多是一分钟。所以除非你在一个大容量的数据负载中是正确的,否则所有的有状态的变化都被写入磁盘。但是,正如我所说,您的数据库不安全,因此这是数据丢失的最可能原因。谢谢您的建议。可能是因为我没有意识到编程任务可以涵盖哪些范围,我应该向其他网站提出这个问题。我同意你的观点,当数据不安全时,没有人能保证数据丢失的原因。