mongoc_query_flags_t#

Flags for query operations

Synopsis#

typedef enum {
   MONGOC_QUERY_NONE = 0,
   MONGOC_QUERY_TAILABLE_CURSOR = 1 << 1,
   MONGOC_QUERY_SECONDARY_OK = 1 << 2,
   MONGOC_QUERY_OPLOG_REPLAY = 1 << 3,
   MONGOC_QUERY_NO_CURSOR_TIMEOUT = 1 << 4,
   MONGOC_QUERY_AWAIT_DATA = 1 << 5,
   MONGOC_QUERY_EXHAUST = 1 << 6,
   MONGOC_QUERY_PARTIAL = 1 << 7,
} mongoc_query_flags_t;

Description#

These flags correspond to the MongoDB wire protocol. They may be bitwise or’d together. They may modify how a query is performed in the MongoDB server.

Flag Values#

MONGOC_QUERY_NONE

Specify no query flags.

MONGOC_QUERY_TAILABLE_CURSOR

Cursor will not be closed when the last data is retrieved. You can resume this cursor later.

MONGOC_QUERY_SECONDARY_OK

Allow query of replica set secondaries.

MONGOC_QUERY_OPLOG_REPLAY

Used internally by MongoDB.

MONGOC_QUERY_NO_CURSOR_TIMEOUT

The server normally times out an idle cursor after an inactivity period (10 minutes). This prevents that.

MONGOC_QUERY_AWAIT_DATA

Use with MONGOC_QUERY_TAILABLE_CURSOR. Block rather than returning no data. After a period, time out.

MONGOC_QUERY_EXHAUST

Stream the data down full blast in multiple “reply” packets. Faster when you are pulling down a lot of data and you know you want to retrieve it all. Only applies to cursors created from a find operation (i.e. mongoc_collection_find()).

MONGOC_QUERY_PARTIAL

Get partial results from mongos if some shards are down (instead of throwing an error).