touch

在本页面

{ touch: [collection], data: [boolean], index: [boolean] }

默认情况下,dataindex为 false,而touch将不执行任何操作。例如,要为名为records的集合加载数据和索引,您可以在mongo shell 中使用以下命令:

db.runCommand({ touch: "records", data: true, index: true })

touch不会阻止对mongod的读写操作,并且可以在副本集的secondary个成员上运行。

Considerations

Performance Impact

使用touch控制或调整mongod在内存中存储的内容可能会置换其他记录数据在内存中并影响性能。在生产系统中谨慎使用。

复制和辅助

如果在辅助服务器上运行touch,则辅助服务器将进入RECOVERING状态,以防止 Client 端在touch操作期间发送读取操作。 touch完成时,辅助节点将自动返回到SECONDARY状态。有关副本集成员状态的更多信息,请参见state

Storage Engines

在 3.0.0 版中更改。

如果当前存储引擎不支持touch,则touch命令将返回错误。

MMAPv1 存储引擎支持touch

WiredTiger 存储引擎支持touch

首页