我正在使用在本地计算机上运行的MongoDB的单个实例,并希望编写一个自动修复例程,因为该数据库将与当前正在使用的用户应用程序 bundle 在一起。
docs表示存在一个mongod.lock文件,该文件指示数据库需要修复:
If the
mongod.lockfile in the data directory specified by dbPath,/data/dbby default, is not a zero-byte file, then mongod will refuse to start, [...]
我的
mogod过程开始时很有趣,但是我的修复例程告诉我,需要修复数据库。修复例程只是在寻找
mongod.lock的文件大小,该文件大小为5个字节,并且
cat mongod.lock提供了以下内容:
9817
因此,根据上面的doc引用,我想知道即使
mongod.lock文件绝对不是零字节文件,MongoDB仍将如何启动。
请您参考如下方法:
该文档涉及在没有日记的情况下运行Mongo的情况。如果您有日志记录,则Mongo将尝试自行修复。
您在.lock文件中看到的数字是进程ID。如果该进程未在运行,则该端口可能未使用,并且如果数据文件未损坏,Mongo可能会成功重启该进程。


