1MONGOC_CLIENT_WATCH(3)             libmongoc            MONGOC_CLIENT_WATCH(3)
2
3
4

NAME

6       mongoc_client_watch - mongoc_client_watch()
7

SYNOPSIS

9          mongoc_change_stream_t*
10          mongoc_client_watch (mongoc_client_t *client,
11                               const bson_t *pipeline,
12                               const bson_t *opts);
13
14       A  helper  function  to create a change stream. It is preferred to call
15       this function over using a raw aggregation to create a change stream.
16
17       This function uses the read preference and read concern of the  client.
18       If  the  change  stream needs to re-establish connection, the same read
19       preference will be used. This may happen if the change  stream  encoun‐
20       ters a resumable error.
21
22       WARNING:
23          A change stream is only supported with majority read concern.
24
25       This  function  is considered a retryable read operation.  Upon a tran‐
26       sient error (a network error, errors due to replica set failover, etc.)
27       the  operation  is  safely retried once.  If retryreads is false in the
28       URI (see mongoc_uri_t) the retry behavior does not apply.
29

PARAMETERS

31       · db: A mongoc_client_t specifying the client which the  change  stream
32         listens to.
33
34       · pipeline:  A  bson_t representing an aggregation pipeline appended to
35         the change stream. This may be an empty document.
36
37       · opts: A bson_t containing change stream options.
38
39       opts may be NULL or a BSON document with additional command options:
40
41       · batchSize: An int32 representing number of documents requested to  be
42         returned on each call to mongoc_change_stream_next
43
44       · resumeAfter:  A  Document  representing the logical starting point of
45         the      change      stream.      The      result       of       mon‐
46         goc_change_stream_get_resume_token()  or the _id field  of any change
47         received from a change stream can be used here. This option is  mutu‐
48         ally exclusive with startAfter and startAtOperationTime.
49
50       · startAfter: A Document representing the logical starting point of the
51         change stream. Unlike  resumeAfter,  this  can  resume  notifications
52         after     an    "invalidate"    event.    The    result    of    mon‐
53         goc_change_stream_get_resume_token() or the _id field  of any  change
54         received from a change stream can be used here.  This option is mutu‐
55         ally exclusive with resumeAfter and startAtOperationTime.
56
57       · startAtOperationTime: A Timestamp. The change  stream  only  provides
58         changes  that  occurred at or after the specified timestamp. Any com‐
59         mand run against the server will return an operation time that can be
60         used  here.  This  option  is mutually exclusive with resumeAfter and
61         startAfter.
62
63       · maxAwaitTimeMS: An int64 representing the maximum amount  of  time  a
64         call to mongoc_change_stream_next will block waiting for data
65
66       · fullDocument:  A  UTF-8  string. Set this option to "updateLookup" to
67         direct the change stream cursor to lookup  the  most  current  major‐
68         ity-committed  version of the document associated to an update change
69         stream event.
70

RETURNS

72       A newly allocated mongoc_change_stream_t which must be freed with  mon‐
73       goc_change_stream_destroy  when  no  longer  in  use. The returned mon‐
74       goc_change_stream_t is never NULL. If there is  an  error,  it  can  be
75       retrieved   with  mongoc_change_stream_error_document,  and  subsequent
76       calls to mongoc_change_stream_next will return false.
77

SEE ALSO

79       mongoc_database_watch
80
81       mongoc_collection_watch
82

AUTHOR

84       MongoDB, Inc
85
87       2017-present, MongoDB, Inc
88
89
90
91
921.17.4                           Feb 04, 2021           MONGOC_CLIENT_WATCH(3)
Impressum