1MONGOC_COLLECTION_WATCH(3)         libmongoc        MONGOC_COLLECTION_WATCH(3)
2
3
4

NAME

6       mongoc_collection_watch - mongoc_collection_watch()
7

SYNOPSIS

9          mongoc_change_stream_t*
10          mongoc_collection_watch (const mongoc_collection_t *coll,
11                                   const bson_t *pipeline,
12                                   const bson_t *opts) BSON_GNUC_WARN_UNUSED_RESULT;
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  collec‐
18       tion.  If  the change stream needs to re-establish connection, the same
19       read preference will be used. This may happen if the change stream  en‐
20       counters 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

31coll: A  mongoc_collection_t  specifying  the  collection  which  the
32         change stream listens to.
33
34pipeline:  A  bson_t representing an aggregation pipeline appended to
35         the change stream. This may be an empty document.
36
37opts: A bson_t containing change stream options.
38
39       opts may be NULL or a BSON document with additional command options:
40
41batchSize: An int32 representing number of documents requested to  be
42         returned on each call to mongoc_change_stream_next()
43
44resumeAfter:  A  Document  representing the logical starting point of
45         the        change        stream.        The         result         of
46         mongoc_change_stream_get_resume_token()  or  the  _id  field   of any
47         change received from a change stream can be used here. This option is
48         mutually exclusive with startAfter and startAtOperationTime.
49
50startAfter: A Document representing the logical starting point of the
51         change stream. Unlike resumeAfter, this can resume notifications  af‐
52         ter      an      "invalidate"      event.      The      result     of
53         mongoc_change_stream_get_resume_token() or  the  _id  field   of  any
54         change  received  from a change stream can be used here.  This option
55         is mutually exclusive with resumeAfter and startAtOperationTime.
56
57startAtOperationTime: 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
63maxAwaitTimeMS: An int64 representing the maximum amount  of  time  a
64         call to mongoc_change_stream_next() will block waiting for data
65
66fullDocument: An optional UTF-8 string. Set this option to "default",
67         "updateLookup", "whenAvailable", or "required", If unset, The  string
68         "default" is assumed. Set this option to "updateLookup" to direct the
69         change stream cursor to lookup the  most  current  majority-committed
70         version of the document associated to an update change stream event.
71
72fullDocumentBeforeChange:  An  optional UTF-8 string. Set this option
73         to "whenAvailable", "required", or "off".  When  unset,  the  default
74         value  is  "off". Similar to "fullDocument", but returns the value of
75         the document before the associated change.
76
77showExpandedEvents: Set to true to return an expanded list of  change
78         stream events. Available only on MongoDB versions >=6.0
79
80comment: A bson_value_t specifying the comment to attach to this com‐
81         mand. The comment will appear in log messages, profiler  output,  and
82         currentOp  output.  Only string values are supported prior to MongoDB
83         4.4.
84

RETURNS

86       A newly allocated  mongoc_change_stream_t  which  must  be  freed  with
87       mongoc_change_stream_destroy()  when  no  longer  in  use. The returned
88       mongoc_change_stream_t is never NULL. If there is an error, it  can  be
89       retrieved  with  mongoc_change_stream_error_document(),  and subsequent
90       calls to mongoc_change_stream_next() will return false.
91
92       SEE ALSO:
93          mongoc_client_watch()
94
95          mongoc_database_watch()
96
97

AUTHOR

99       MongoDB, Inc
100
102       2017-present, MongoDB, Inc
103
104
105
106
1071.24.3                           Aug 17, 2023       MONGOC_COLLECTION_WATCH(3)
Impressum