Provided by: libmongoc-doc_1.9.2+dfsg-1build1_all 

NAME
mongoc_change_stream_t - mongoc_change_stream_t
SYNOPSIS
#include <mongoc.h> typedef struct _mongoc_change_stream_t mongoc_change_stream_t; mongoc_change_stream_t is a handle to a change stream. A collection change stream can be obtained using mongoc_collection_watch. It is recommended to use a mongoc_change_stream_t and its functions instead of a raw aggregation with a $changeStream stage. For more information see the MongoDB Manual Entry on Change Streams.
EXAMPLE
example-collection-watch.c.INDENT 0.0 #include <mongoc.h> int main () { bson_t empty = BSON_INITIALIZER; const bson_t *doc; bson_t *to_insert = BCON_NEW ("x", BCON_INT32 (1)); const bson_t *err_doc; bson_error_t err; mongoc_client_t *client; mongoc_collection_t *coll; mongoc_change_stream_t *stream; mongoc_write_concern_t *wc = mongoc_write_concern_new (); bson_t opts = BSON_INITIALIZER; bool r; mongoc_init (); client = mongoc_client_new ("mongodb://" "localhost:27017,localhost:27018,localhost:" "27019/db?replicaSet=rs0"); if (!client) { fprintf (stderr, "Could not connect to replica set\n"); return 1; } coll = mongoc_client_get_collection (client, "db", "coll"); stream = mongoc_collection_watch (coll, &empty, NULL); mongoc_write_concern_set_wmajority (wc, 10000); mongoc_write_concern_append (wc, &opts); r = mongoc_collection_insert_one (coll, to_insert, &opts, NULL, &err); if (!r) { fprintf (stderr, "Error: %s\n", err.message); return 1; } while (mongoc_change_stream_next (stream, &doc)) { char *as_json = bson_as_relaxed_extended_json (doc, NULL); fprintf (stderr, "Got document: %s\n", as_json); bson_free (as_json); } if (mongoc_change_stream_error_document (stream, &err, &err_doc)) { if (!bson_empty (err_doc)) { fprintf (stderr, "Server Error: %s\n", bson_as_relaxed_extended_json (err_doc, NULL)); } else { fprintf (stderr, "Client Error: %s\n", err.message); } return 1; } bson_destroy (to_insert); mongoc_write_concern_destroy (wc); bson_destroy (&opts); mongoc_change_stream_destroy (stream); mongoc_collection_destroy (coll); mongoc_client_destroy (client); mongoc_cleanup (); }
AUTHOR
MongoDB, Inc
COPYRIGHT
2018, MongoDB, Inc