Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
BSON_OID_T(3)			     libbson			   BSON_OID_T(3)

BSON ObjectID Abstraction

SYNOPSIS
	#include <bson/bson.h>

	typedef struct {
	   uint8_t bytes[12];
	} bson_oid_t;

DESCRIPTION
     The  bson_oid_t structure contains the 12-byte ObjectId notation defined by
     the BSON ObjectID specification.

     ObjectId is a 12-byte BSON type, constructed using:

     * a 4-byte value representing the seconds since the Unix epoch (in Big  En-
       dian).

     * a 5-byte random value.

     * a 3-byte counter (Big Endian), starting with a random value.

STRING CONVERSION
     You  can  convert	an  Object ID to a string using bson_oid_to_string() and
     back with bson_oid_init_from_string().

HASHING
     A bson_oid_t can be used in hashtables using the  function  bson_oid_hash()
     and bson_oid_equal().

COMPARING
     A	bson_oid_t  can  be  compared  to  another  using bson_oid_compare() for
     qsort() style comparing and bson_oid_equal() for direct equality.

VALIDATING
     You can validate that a string containing a hex-encoded ObjectID  is  valid
     using the function bson_oid_is_valid().

EXAMPLE
	#include <bson/bson.h>
	#include <stdio.h>

	int
	main (int argc, char *argv[])
	{
	   bson_oid_t oid;
	   char str[25];

	   bson_oid_init (&oid, NULL);
	   bson_oid_to_string (&oid, str);
	   printf ("%s\n", str);

	   if (bson_oid_is_valid (str, sizeof str)) {
	      bson_oid_init_from_string (&oid, str);
	   }

	   printf ("The UNIX time was: %u\n", (unsigned) bson_oid_get_time_t (&oid));

	   return 0;
	}

AUTHOR
     MongoDB, Inc

COPYRIGHT
     2009-present, MongoDB, Inc.

1.30.8				  Aug 27, 2026			   BSON_OID_T(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bson_oid_t&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help