当前位置:嗨网首页>书籍在线阅读

12-检查数据库

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

22.3.2 检查数据库

检查MongoDB数据库 在本节中,您将对示例数据库进行检查。这个示例演示了如何执行检查并查看结果。 请执行下面的步骤来进行检查。 1.确保启动了MongoDB服务器。 2.确保运行了生成数据库words的脚本文件code/hour05/generate_words.js。 3.使用下面的命令启动MongoDB shell: 4.使用下面的命令切换到数据库words: 5.使用下面的命令执行检查: 6.查看检查结果。下面是方法validate()的输出示例,注意到属性valid为true,而属性errors为空,这表明这个集合没有问题: ▲

检查数据库健康状况时,另一个很有用的工具是Collection对象的方法validate()。这个方法通过扫描数据和索引来检查集合的结构,并在输出中报告发现的问题。

例如,要检查数据库words的集合word_stats,可像下面这样做:

use words
db.word_stats.validate()

您还可给方法validate()传入true,以执行更详细的检查。这将对数据进行更深入、更全面的扫描,但消耗的时间和服务器资源也更多,如下所示:

use words
db.word_stats.validate(true)

▼ Try It Yourself

mongo
use words
db.word_stats.validate()
{
          "ns" : "words.word_stats",
          "firstExtent" : "0:5000 ns:words.word_stats",
          "lastExtent" : "0:109000 ns:words.word_stats",
          "extentCount" : 5,
          "datasize" : 922896,
          "nrecords" : 2673,
          "lastExtentSize" : 2097152,
          "padding" : 1,
          "firstExtentDetails" : {
                    "loc" : "0:5000",
                    "xnext" : "0:19000",
                    "xprev" : "null",
                    "nsdiag" : "words.word_stats",
                    "size" : 8192,
                    "firstRecord" : "0:50b0",
                    "lastRecord" : "0:6eb0"
          },
          "lastExtentDetails" : {
                    "loc" : "0:109000",
                    "xnext" : "null",
                    "xprev" : "0:41000",
                    "nsdiag" : "words.word_stats",
                    "size" : 2097152,
                    "firstRecord" : "0:1090b0",
                    "lastRecord" : "0:14af80"
          },
          "deletedCount" : 4,
          "deletedSize" : 1826928,
          "nIndexes" : 2,
          "keysPerIndex" : {
                    "words.word_stats.$_id_" : 2673,
                    "words.word_stats.$word_1" : 2673
          },
          "valid" : true,
          "errors" : [ ],
          "ok" : 1
}