cursor.readConcern()

Definition

  • cursor.readConcern(level)

mongo Shell Method

This page documents the mongo shell method, and doesnot refer to the MongoDB Node.js driver (or any other driver)method. For corresponding MongoDB driver API, refer to your specificMongoDB driver documentation instead.

New in version 3.2.

Specify a read concern for the db.collection.find()method.

The readConcern() method has the following form:

  1. db.collection.find().readConcern(<level>)

The readConcern() method has the followingparameter:

ParameterTypeDescriptionlevelstringRead concern level.

Possible read concern levels are:

Considerations

"majority" Read Concern

To use read concern level of "majority", replicasets must use WiredTiger storage engine.

You can disable read concern "majority" for a deploymentwith a three-member primary-secondary-arbiter (PSA) architecture;however, this has implications for change streams (in MongoDB 4.0 andearlier only) and transactions on sharded clusters. For more information,see Disable Read Concern Majority.

Read Your Own Writes

Starting in MongoDB 3.6, you can use causally consistent sessions to read your own writes, if the writes requestacknowledgement.

Prior to MongoDB 3.6, you must have issued your write operation with{ w: "majority" } write concern and thenuse either "majority" or "linearizable"read concern for the read operations to ensure that a single thread canread its own writes.

Linearizable Read Concern Performance

When specifying linearizable read concern, always use maxTimeMS() in casea majority of data bearing members are unavailable.

  1. db.restaurants.find( { _id: 5 } ).readConcern("linearizable").maxTimeMS(10000)

See also

Read Concern