touch
在本页面
touch
{ touch: [collection], data: [boolean], index: [boolean] }
默认情况下,data
和index
为 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。