cursor.readConcern()

On this page

Definition

cursor. readConcern ( level )

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:

Parameter Type Description
level string

Read concern level.

Possible read concern levels are:

For more formation on the read concern levels, see Read Concern Levels.

For "local" (default) or "majority" read concern level, you can specify the afterClusterTime option to have the read operation return data that meets the level requirement and the specified after cluster time requirement. For more information, see Read Operations and Causally Consistent Sessions.

Considerations

"majority" Read Concern

To use read concern level of "majority", replica sets must use WiredTiger storage engine and election protocol version 1.

Starting in MongoDB 3.6, support for read concern "majority" is enabled by default. For MongoDB 3.6.1 - 3.6.x, you can disable read concern "majority". 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 request acknowledgement.

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

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)

See also

Read Concern