cursor.readConcern()
On this page
Definition
cursor.readConcern(level)
Important
mongosh Method
This page documents a
mongosh
method. This is not the documentation for a language-specific driver, such as Node.js.For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.
Specify a read concern for the
db.collection.find()
method.The
readConcern()
method has the following form:db.collection.find().readConcern(<level>) The
readConcern()
method has the following parameter:ParameterTypeDescriptionlevel
stringRead concern level.
Possible read concern levels are:
"local"
. This is the default read concern level for read operations against the primary and secondaries."available"
. Available for read operations against the primary and secondaries."available"
behaves the same as"local"
against the primary and non-sharded secondaries. The query returns the instance's most recent data."majority"
. Available for replica sets that use WiredTiger storage engine."linearizable"
. Available for read operations on theprimary
only.
For more formation on the read concern levels, see Read Concern Levels.
Considerations
Read Your Own Writes
Starting in MongoDB 3.6, you can use causally consistent sessions to read your own writes, if the writes request acknowledgment.
Prior to MongoDB 3.6, in order to read your own writes you must issue
your write operation with { w: "majority" }
write concern, and then issue your read operation with
primary
read preference, and either
"majority"
or "linearizable"
read concern.
Linearizable Read Concern Performance
When specifying linearizable read concern
, always use maxTimeMS()
in case
a majority of data bearing members are unavailable.
db.restaurants.find( { _id: 5 } ).readConcern("linearizable").maxTimeMS(10000)