Definition
cursor.readConcern(level)Important
mongosh Method
This is a
mongoshmethod. This is not the documentation forNode.jsor other programming language specific driver methods.In most cases,
mongoshmethods work the same way as the legacymongoshell methods. However, some legacy methods are unavailable inmongosh.For the legacy
mongoshell documentation, refer to the documentation for the corresponding MongoDB Server release:For MongoDB API drivers, refer to the language specific MongoDB driver documentation.
New in version 3.2.
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:ParameterTypeDescriptionlevelstring
Read 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 theprimaryonly.
For more formation on the read concern levels, see Read Concern Levels.
Compatibility
This method is available in deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Note
This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.
MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB
Considerations
Read Your Own Writes
You can use causally consistent sessions to read your own writes, if the writes request acknowledgment.
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)