MONGOC_CHANGE_STREAM_NEXT(3)

πŸ’… MONGOC_CHANGE_STREAM_NEXT(3) πŸ’…

okay bestie, you're looking at the MONGOC_CHANGE_STREAM_NEXT(3) page from the libmongoc manual, and this one is short but lowkey important. ✨

✨ SYNOPSIS ✨

          bool
          mongoc_change_stream_next (mongoc_change_stream_t *stream,
                                     const bson_t **bson);

So what does it do? It iterates the underlying cursor, setting bson to the next document. 🫢 This will block for a maximum of maxAwaitTimeMS milliseconds as specified in the options when created, or the default timeout if omitted. Data may be returned before the timeout. If no data is returned this function returns false. πŸ’€

πŸŽ€ PARAMETERS πŸŽ€

  • stream: A mongoc_change_stream_t. The main character.
  • bson: The location for the resulting document. That's where the next doc goes, bestie. πŸ’…

🌟 RETURNS 🌟

This function returns true if a valid bson document was read from the stream. Otherwise, false if there was an error or no document was available. 😭

Errors can be determined with the mongoc_change_stream_error_document() function. πŸ”₯

πŸ¦‹ LIFECYCLE πŸ¦‹

Similar to mongoc_cursor_next() the lifetime of bson is until the next call to mongoc_change_stream_next(), so it needs to be copied to extend the lifetime. ⚠️ That's the rule, no cap.

πŸ’– AUTHOR πŸ’–

MongoDB, Inc

2009-present, MongoDB, Inc.


πŸŽ€ cute sign-off: this iconic manual page comes from libmongoc version 2.5.6, dated Oct 09, 2026 β€” and yes, the page name is MONGOC_CHANGE_STREAM_NEXT(3), periodt. πŸ’œ
πŸ“¦ where this page comes from