DOKK / manpages / debian 12 / libbson-doc / bson_type_t.3.en
BSON_TYPE_T(3) libbson BSON_TYPE_T(3)

bson_type_t - bson_type_t

BSON Type Enumeration

#include <bson/bson.h>
typedef enum {

BSON_TYPE_EOD = 0x00,
BSON_TYPE_DOUBLE = 0x01,
BSON_TYPE_UTF8 = 0x02,
BSON_TYPE_DOCUMENT = 0x03,
BSON_TYPE_ARRAY = 0x04,
BSON_TYPE_BINARY = 0x05,
BSON_TYPE_UNDEFINED = 0x06,
BSON_TYPE_OID = 0x07,
BSON_TYPE_BOOL = 0x08,
BSON_TYPE_DATE_TIME = 0x09,
BSON_TYPE_NULL = 0x0A,
BSON_TYPE_REGEX = 0x0B,
BSON_TYPE_DBPOINTER = 0x0C,
BSON_TYPE_CODE = 0x0D,
BSON_TYPE_SYMBOL = 0x0E,
BSON_TYPE_CODEWSCOPE = 0x0F,
BSON_TYPE_INT32 = 0x10,
BSON_TYPE_TIMESTAMP = 0x11,
BSON_TYPE_INT64 = 0x12,
BSON_TYPE_DECIMAL128 = 0x13,
BSON_TYPE_MAXKEY = 0x7F,
BSON_TYPE_MINKEY = 0xFF, } bson_type_t;


The bson_type_t enumeration contains all of the types from the BSON Specification. It can be used to determine the type of a field at runtime.

bson_iter_t iter;
if (bson_iter_init_find (&iter, doc, "foo") &&

(BSON_TYPE_INT32 == bson_iter_type (&iter))) {
printf ("'foo' is an int32.\n"); }


MongoDB, Inc

2017-present, MongoDB, Inc

October 20, 2022 1.23.1