On this page
db.repairDatabase()
在本页面
db.
repairDatabase
( )- db.repairDatabase()提供围绕数据库命令repairDatabase的包装,并且具有与运行时选项mongod --repair选项相同的效果,仅限于仅当前数据库。有关完整的文档,请参见repairDatabase。
Behavior
Warning
在使用repairDatabase之前,请制作 dbpath 目录的备份副本。
避免对副本集运行repairDatabase。如果您要修复replica set成员,并且可以访问数据的完整副本(例如,最近的备份或replica set的完整成员),则应从该完整副本中恢复(请参见重新同步副本集的成员),并且 不 使用repairDatabase。
如果没有其他选择,则仅使用repairDatabase命令和相关的包装器,包括db.repairDatabase()和mongod --repair。这些操作将在修复过程中删除并且不会保存任何损坏的数据。
如果您在启用journaling的情况下运行,则几乎不需要运行repairDatabase,除非您需要从磁盘级数据损坏中恢复。如果发生异常关闭,服务器将能够自动将数据文件还原到干净状态。
在 2.6 版中进行了更改:db.repairDatabase()现在可用于副本集的辅助成员和主要成员。