MongoDB 验证命令(Validate Command)

验证命令(Validate Command)

使用这个命令来验证collection是否有效并且做多种分析。

这个命令会扫描整个collection和它的索引并且数据集较大的时候,这个过程是非常缓慢的。

MongoDB Shell执行:

> db.foo.validate()
{"ns" : "test.foo" , "result" : "validate  details: 08D03C9C ofs:963c9c  firstExtent:0:156800 ns:test.foo  lastExtent:0:156800 ns:test.foo  # extents:1  datasize?:144 nrecords?:3 lastExtentSize:2816  padding:1  first extent:    loc:0:156800 xnext:null xprev:null    ns:test.foo    size:2816 firstRecord:0:1568b0 lastRecord:0:156930  3 objects found, nobj:3  192 bytes data w/headers  144 bytes data wout/headers  deletedList: 0000000100000000000  deleted: n: 1 size: 2448  nIndexes:1    test.foo.$x_1 keys:3" , "ok" : 1 , "valid" : true , "lastExtentSize" : 2816}

从驱动调用的话,会执行如下语句:

> db.$cmd.findOne({validate:"foo" } );

validate 会有个scandata 参数 会跳过扫描基本的collection(但是仍然扫描索引).

> db.$cmd.findOne({validate:"foo", scandata:true});

你可能感兴趣的:(MongoDB)