On this page
touch
On this page
touch-
The
touchcommand loads data from the data storage layer into memory.touchcan load the data (i.e. documents) indexes or both documents and indexes. Use this command to ensure that a collection, and/or its indexes, are in memory before another operation. By loading the collection or indexes into memory,mongodwill ideally be able to perform subsequent operations more efficiently. Thetouchcommand has the following prototypical form:{ touch: [collection], data: [boolean], index: [boolean] }By default,
dataandindexare false, andtouchwill perform no operation. For example, to load both the data and the index for a collection namedrecords, you would use the following command in themongoshell:db.runCommand({ touch: "records", data: true, index: true })touchwill not block read and write operations on amongod, and can run on secondary members of replica sets.
Considerations
Performance Impact
Using touch to control or tweak what a mongod stores in memory may displace other records data in memory and hinder performance. Use with caution in production systems.
Replication and Secondaries
If you run touch on a secondary, the secondary will enter a RECOVERING state to prevent clients from sending read operations during the touch operation. When touch finishes the secondary will automatically return to SECONDARY state. See state for more information on replica set member states.