MONGOC_COLLECTION_COMMAND(3)
π MONGOC_COLLECTION_COMMAND π
okay so bestie, we're in libmongoc territory and this one is literally called MONGOC_COLLECTION_COMMAND(3). she's an icon, she's a legend, but she's alsoβ¦ retired. let's get into it π«Ά
β οΈ WARNING: Deprecated since version 1.29.0 β this function is deprecated and should not be used in new code. use mongoc_collection_command_simple() instead, fr fr. this is giving "please stop calling me" energy π
β¨ SYNOPSIS β¨
mongoc_cursor_t *
mongoc_collection_command (mongoc_collection_t *collection,
mongoc_query_flags_t flags,
uint32_t skip,
uint32_t limit,
uint32_t batch_size,
const bson_t *command,
const bson_t *fields,
const mongoc_read_prefs_t *read_prefs);
heads up bestie: this function is not considered a retryable read operation. like, she will not try again for you. she said one shot, one opportunity π€
π PARAMETERS π
- collection: A
mongoc_collection_t. your girl, your target, your main character. - flags: Unused. literally just sitting there. decor.
- skip: Unused. napping.
- limit: Unused. also napping.
- batch_size: Unused. you guessed it β napping.
- command: A
bson_tcontaining the command to execute. this one actually does something π - fields: Unused. girl is on her break.
- read_prefs: An optional
mongoc_read_prefs_t. otherwise, the command uses modeMONGOC_READ_PRIMARY. (yes, that's the fallback. no cap.)
π¦ MIGRATING π¦
so mongoc_collection_command() is deprecated. periodt. here's how to move on gracefully π§
the following example uses mongoc_collection_command():
Before
const bson_t *reply;
bson_t *cmd = BCON_NEW ("find", "foo", "filter", "{", "}");
mongoc_cursor_t *cursor = mongoc_collection_command (coll,
MONGOC_QUERY_NONE /* unused */,
0 /* unused */,
0 /* unused */,
0 /* unused */,
cmd,
NULL /* unused */,
NULL /* read prefs */);
// Expect cursor to return exactly one document for the command reply.
EXPECT (mongoc_cursor_next (cursor, &reply));
bson_error_t error;
if (mongoc_cursor_error (cursor, &error)) {
FAIL ("Expected no error, got: %s\n", error.message);
}
// Expect successful reply to contain "ok": 1
bson_iter_t iter;
EXPECT (bson_iter_init_find (&iter, reply, "ok") && bson_iter_as_int64 (&iter) == 1);
// Expect cursor to return no other documents.
EXPECT (!mongoc_cursor_next (cursor, &reply));
mongoc_cursor_destroy (cursor);
bson_destroy (cmd);
the above code block may be rewritten to use mongoc_collection_command_simple() instead, as shown below π
After
bson_t reply;
bson_error_t error;
bson_t *cmd = BCON_NEW ("find", "foo", "filter", "{", "}");
if (!mongoc_collection_command_simple (coll, cmd, NULL /* read prefs */, &reply, &error)) {
FAIL ("Expected no error, got: %s\n", error.message);
}
// Expect successful reply to contain "ok": 1
bson_iter_t iter;
EXPECT (bson_iter_init_find (&iter, reply, "ok") && bson_iter_as_int64 (&iter) == 1);
bson_destroy (&reply);
bson_destroy (cmd);
glow up complete β¨
πΈ RETURNS πΈ
this function returns a newly allocated mongoc_cursor_t that should be freed with mongoc_cursor_destroy() when no longer in use. the returned mongoc_cursor_t is never NULL, even on error β she shows up no matter what, queen behavior π. the user must call mongoc_cursor_next() on the returned mongoc_cursor_t to execute the initial command. don't forget, or she just sits there π
cursor errors can be checked with mongoc_cursor_error_document(). it always fills out the bson_error_t if an error occurred, and optionally includes a server reply document if the error occurred server-side.
β οΈ WARNING: failure to handle the result of this function is a programming error. like, a real one. handle your business bestie π
π AUTHOR π
MongoDB, Inc
β COPYRIGHT β
2009-present, MongoDB, Inc.
and that's the whole page, bestie!! this was MONGOC_COLLECTION_COMMAND(3) from libmongoc, version 1.30.13, dated Oct 09, 2026. mwah π go use mongoc_collection_command_simple() and thrive π¦π
π¦ where this page comes from
- fedora 43: mongo-c-driver-devel 1.30.13-1.fc43 Β· Apache-2.0 AND ISC AND MIT AND Zlib
- fedora 43: mongo-c-driver-devel 1.30.13-1.fc43 Β· Apache-2.0 AND ISC AND MIT AND Zlib
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms