- Reference >
mongo
Shell Methods >- Cursor Methods >
- cursor.readConcern()
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: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."available"
. This is the default for reads against secondaries when Read Operations and afterClusterTime and “level” are unspecified. 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 theprimary
only.
For more formation on the read concern levels, see Read Concern Levels.
For
"local"
(default) or"majority"
read concern level, you can specify theafterClusterTime
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 afterClusterTime.
Considerations¶
"majority"
Read Concern¶
To use read concern level of "majority"
, replica
sets must use WiredTiger storage engine.
For MongoDB 4.0.3+ (and 3.6.1+), 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, 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.
See also