bson_iter_t man page

bson_iter_t — BSON Document Iterator

Synopsis

#include <bson.h>

typedef struct
{
   /*< private >*/
} bson_iter_t;

Description

bson_iter_t is a structure used to iterate through the elements of a bson_t

The bson_t

MUST be valid for the lifetime of the iter and it is an error to modify the bson_t while using the iter.

Examples

bson_iter_t iter;

if (bson_iter_init (&iter, my_bson_doc)) {
   while (bson_iter_next (&iter)) {
      printf ("Found a field named: %s\n", bson_iter_key (&iter));
   }
}
bson_iter_t iter;

if (bson_iter_init (&iter, my_bson_doc) &&
    bson_iter_find (&iter, "my_field")) {
   printf ("Found the field named: %s\n", bson_iter_key (&iter));
}
bson_iter_t iter;
bson_iter_t sub_iter;

if (bson_iter_init_find (&iter, my_bson_doc, "mysubdoc") &&
    (BSON_ITER_HOLDS_DOCUMENT (&iter) ||
     BSON_ITER_HOLDS_ARRAY (&iter)) &&
    bson_iter_recurse (&iter, &sub_iter)) {
   while (bson_iter_next (&sub_iter)) {
      printf ("Found key \"%s\" in sub document.\n",
              bson_iter_key (&sub_iter));
   }
}
bson_iter_t iter;

if (bson_iter_init (&iter, my_doc) &&
    bson_iter_find_descendant (&iter, "a.b.c.d", &sub_iter)) {
   printf ("The type of a.b.c.d is: %d\n",
           (int)bson_iter_type (&sub_iter));
}

Colophon

This page is part of libbson. Please report any bugs at https://jira.mongodb.org/browse/CDRIVER.

Info

2016‐10‐28 libbson