bson_iter_init (3) - Linux Manuals
bson_iter_init: The bson_iter_init() function shall initialize iter to iterate upon the BSON document bson. Upon initialization, iter is placed before the first element. Callers must call bson_iter_next(), bson_iter_find(), or bson_iter_find_case() to advance to an element.
Command to display bson_iter_init
manual in Linux: $ man 3 bson_iter_init
NAME
bson_iter_init() - The bson_iter_init() function shall initialize iter to iterate upon the BSON document bson. Upon initialization, iter is placed before the first element. Callers must call bson_iter_next(), bson_iter_find(), or bson_iter_find_case() to advance to an element.
SYNOPSIS
bool
bson_iter_init (bson_iter_t *iter,
const bson_t *bson);
PARAMETERS
- iter
-
A
bson_iter_t
\&.
- bson
-
A
bson_t
\&.
DESCRIPTION
The
bson_iter_init(3)
function shall initialize
iter
to iterate upon the BSON document
bson
\&. Upon initialization,
iter
is placed before the first element. Callers must call
bson_iter_next(3)
,
bson_iter_find(3)
, or
bson_iter_find_case(3)
to advance to an element.
RETURNS
Returns true if the iter was successfuly initialized.
EXAMPLE
static void
print_doc_id (const bson_t *doc)
{
bson_iter_t iter;
bson_oid_t oid;
char oidstr[25];
if (bson_iter_init (&iter, doc) &&
bson_iter_find (&iter, "_id") &&
BSON_ITER_HOLDS_OID (&iter)) {
bson_iter_oid (&iter, &oid);
bson_oid_to_string (&oid, oidstr);
printf ("%s\n", oidstr);
} else {
printf ("Document is missing _id.\n");
}
}
/* alternatively */
static void
print_doc_id (const bson_t *doc)
{
bson_iter_t iter;
bson_oid_t oid;
char oidstr[25];
if (bson_iter_init_find (&iter, doc, "_id") &&
BSON_ITER_HOLDS_OID (&iter)) {
bson_iter_oid (&iter, &oid);
bson_oid_to_string (&oid, oidstr);
printf ("%s\n", oidstr);
} else {
printf ("Document is missing _id.\n");
}
}
COLOPHON
This page is part of libbson.
Please report any bugs at
https://jira.mongodb.org/browse/CDRIVER.
Pages related to bson_iter_init
- bson_iter_init_find (3) - This function is identical to (bson_iter_init() && bson_iter_find()).
- bson_iter_init_find_case (3) - This function is identical to bson_iter_init() && bson_iter_find_case().
- bson_iter_int32 (3) - Fetches the value from a BSON_TYPE_INT32 element. You should verify that the field is a BSON_TYPE_INT32 field before calling this function.
- bson_iter_int64 (3) - Fetches the value from a BSON_TYPE_INT64 field. You should verify that this is a BSON_TYPE_INT64 field before calling this function.
- bson_iter_array (3) - The bson_iter_array() function shall retrieve the raw buffer of a sub-array from iter. iter MUST be on an element that is of type BSON_TYPE_ARRAY. This can be verified with bson_iter_type() or the BSON_ITER_HOLDS_ARRAY() macro.
- bson_iter_as_bool (3) - Fetches the current field as if it were a boolean.
- bson_iter_as_int64 (3) - The bson_iter_as_int64() function shall return the contents of the current element as if it were a BSON_TYPE_INT64 element. The currently supported casts include:
- bson_iter_binary (3) - This function shall return the binary data of a BSON_TYPE_BINARY element. It is a programming error to call this function on a field that is not of type BSON_TYPE_BINARY. You can check this with the BSON_ITER_HOLDS_BINARY() macro or bson_iter_type().
- bson_iter_bool (3) - The bson_iter_bool()function shall return the boolean value of a BSON_TYPE_BOOL element. It is a programming error to call this function on an element other than BSON_TYPE_BOOL. You can check this with bson_iter_type() or BSON_ITER_HOLDS_BOOL().
- bson_iter_code (3) - This function returns the contents of a BSON_TYPE_CODE field. The length of the string is stored in length if non-NULL.
- bson_iter_codewscope (3) - The bson_iter_codewscope() function acts similar to bson_iter_code() except for BSON_TYPE_CODEWSCOPE elements. It also will provide a pointer to the buffer for scope, which can be loaded into a bson_t using bson_init_static().
- bson_iter_date_time (3) - The bson_iter_date_time() function shall return the number of miliseconds since the UNIX epoch, as contained in the BSON_TYPE_DATE_TIME element.
- bson_iter_dbpointer (3) - Fetches the contents of a BSON_TYPE_DBPOINTER element.
- bson_iter_document (3) - The bson_iter_document() function shall retrieve the raw buffer of a sub-document from iter. iter MUST be on an element that is of type BSON_TYPE_DOCUMENT. This can be verified with bson_iter_type() or the BSON_ITER_HOLDS_DOCUMENT() macro.