BSON_COPY_TO_EXCLUDING_NOINIT(3)

SYNOPSIS

            void
            bson_copy_to_excluding_noinit (const bson_t *src,
                                           bson_t *dst,
                                           const char *first_exclude,
                                           ...) BSON_GNUC_NULL_TERMINATED;

PARAMETERS

    •   src: A bson_t.

    •   dst: A bson_t.

    •   first_exclude: The first field name to exclude.

DESCRIPTION

The bson_copy_to_excluding_noinit() function shall copy all fields from src to dst except those specified by the variadic, NULL terminated list of keys starting from first_exclude. Works the same way as bson_copy_to_excluding(), except does not call bson_init() on dst. This function should be preferred in new code over bson_copy_to_excluding().

WARNING:
        This is generally not needed except in very special situations.

EXAMPLE

            #include <bson/bson.h>

            int main ()
            {
               bson_t bson;
               bson_t bson2;
               char *str;

               bson_init (&bson);
               bson_append_int32 (&bson, "a", 1, 1);
               bson_append_int32 (&bson, "b", 1, 2);
               bson_append_int32 (&bson, "c", 1, 2);

               bson_init (&bson2);
               bson_copy_to_excluding_noinit (&bson, &bson2, "b", NULL);

               str = bson_as_json (&bson2, NULL);
               /* Prints
                * { "a" : 1, "c" : 2 }
                */
               printf ("%s\n", str);
               bson_free (str);

               bson_destroy (&bson);
               bson_destroy (&bson2);
            }

AUTHOR
MongoDB, Inc

COPYRIGHT
2017-present, MongoDB, Inc