Navigation
This version of the documentation is archived and no longer supported.

cursor.readConcern()

On this page

Definition

cursor.readConcern(level)

mongo Shell Method

This page documents the mongo shell method, and does not refer to the MongoDB Node.js driver (or any other driver) method. For corresponding MongoDB driver API, refer to your specific MongoDB 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:

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.

Considerations

"majority" Read Concern

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

You can disable read concern "majority" for a deployment with a three-member primary-secondary-arbiter (PSA) architecture; however, this has implications for change streams (in MongoDB 4.0 and earlier 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 request acknowledgement.

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)

See also

Read Concern