bson_iter_init()
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() 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.
Returns
Returns true if the iter was successfully 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"); } }