Docs Menu

Docs HomeDevelop ApplicationsMongoDB Manual

cursor.readConcern()

On this page

  • Definition
  • Considerations
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:

Parameter
Type
Description
level
string

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 the primary only.

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

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.

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)

Tip

See also:

←  cursor.pretty()cursor.readPref() →