Ubuntu Manpages

  • opts: A mongoc_session_opt_t.
  • snapshot: True or false.

mongoc_client_t *client;
mongoc_session_opt_t *session_opts;
mongoc_client_session_t *client_session;
mongoc_collection_t *collection;
bson_t query_opts = BSON_INITIALIZER;
bson_t filter = BSON_INITIALIZER;
bson_t pipeline = BSON_INITIALIZER;
client = mongoc_client_new ("mongodb://example/?appname=session-opts-example");
mongoc_client_set_error_api (client, MONGOC_ERROR_API_VERSION_2);
session_opts = mongoc_session_opts_new ();
mongoc_session_opts_set_snapshot (session_opts, true);
client_session = mongoc_client_start_session (client, session_opts, &error);
mongoc_session_opts_destroy (session_opts);
if (!client_session) {
   fprintf (stderr, "Failed to start session: %s\n", error.message);
   abort ();
}
collection = mongoc_client_get_collection (client, "test", "collection");
r = mongoc_client_session_append (client_session, &find_opts, &error);
if (!r) {
   fprintf (stderr, "mongoc_client_session_append failed: %s\n", error.message);
   abort ();
}
/* First read operation will set the snapshot time for subsequent reads. */
cursor = mongoc_collection_find_with_opts (collection, filter, &query_opts, NULL);
/* Subsequent read operations will automatically read from the same point
 * in time as the first read operation. */
cursor = mongoc_collection_aggregate (collection, MONGOC_QUERY_NONE, pipeline, &query_opts, NULL);


MongoDB, Inc

2017-present, MongoDB, Inc