The commonly used commands and locks are as follows:
Command
Lock
find()
S
it() (query cursor)
S
insert()
X
remove()
X
update()
X
mapreduce()
Both S and X, depending on the case. Some MapReduce chunks can run in parallel.
index()
Foreground indexing: Database lock.
Background indexing: No lock, except for administrative commands that will return an error. Also, background indexing will take considerably more time.