The MongoDB\BSON\Binary class

Introduction

BSON type for binary data (i.e. array of bytes). Binary values also have a subtype, which is used to indicate what kind of data is in the byte array. Subtypes from zero to 127 are predefined or reserved. Subtypes from 128-255 are user-defined.

Class synopsis

MongoDB\BSON\Binary
final class MongoDB\BSON\Binary implements MongoDB\BSON\BinaryInterface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Constants */
const int MongoDB\BSON\Binary::TYPE_GENERIC = 0;
const int MongoDB\BSON\Binary::TYPE_FUNCTION = 1;
const int MongoDB\BSON\Binary::TYPE_OLD_BINARY = 2;
const int MongoDB\BSON\Binary::TYPE_OLD_UUID = 3;
const int MongoDB\BSON\Binary::TYPE_UUID = 4;
const int MongoDB\BSON\Binary::TYPE_MD5 = 5;
const int MongoDB\BSON\Binary::TYPE_ENCRYPTED = 6;
const int MongoDB\BSON\Binary::TYPE_COLUMN = 7;
const int MongoDB\BSON\Binary::TYPE_SENSITIVE = 8;
const int MongoDB\BSON\Binary::TYPE_USER_DEFINED = 128;
/* Methods */
final public __construct(string $data, int $type = MongoDB\BSON\Binary::TYPE_GENERIC)
final public string getData()
final public int getType()
final public mixed jsonSerialize()
final public string serialize()
final public string __toString()
final public void unserialize(string $data)
}

Predefined Constants

MongoDB\BSON\Binary::TYPE_GENERIC

Generic binary data.

MongoDB\BSON\Binary::TYPE_FUNCTION

Function.

MongoDB\BSON\Binary::TYPE_OLD_BINARY

Generic binary data (deprecated in favor of MongoDB\BSON\Binary::TYPE_GENERIC).

MongoDB\BSON\Binary::TYPE_OLD_UUID

Universally unique identifier (deprecated in favor of MongoDB\BSON\Binary::TYPE_UUID). When using this type, the Binary's data should be 16 bytes in length.

Historically, other drivers encoded values with this type based on their language conventions (e.g. varying endianness), which makes it non-portable. The PHP extension applies no special handling for encoding or decoding data with this type.

MongoDB\BSON\Binary::TYPE_UUID

Universally unique identifier. When using this type, the Binary's data should be 16 bytes in length and encoded according to » RFC 4122.

MongoDB\BSON\Binary::TYPE_MD5

MD5 hash. When using this type, the Binary's data should be 16 bytes in length.

MongoDB\BSON\Binary::TYPE_ENCRYPTED

Encrypted value. This subtype is used for client-side encryption.

MongoDB\BSON\Binary::TYPE_COLUMN

Column data. This subtype is used for time-series collections.

MongoDB\BSON\Binary::TYPE_SENSITIVE

Sensitive data. This subtype is used for sensitive data that should be excluded from server-side logging when possible.

MongoDB\BSON\Binary::TYPE_USER_DEFINED

User-defined type. While types between 0 and 127 are predefined or reserved, types between 128 and 255 are user-defined and may be used for anything.

Changelog

Version Description
PECL mongodb 1.17.0 Added MongoDB\BSON\Binary::TYPE_SENSITIVE.
PECL mongodb 1.12.0

Implements Stringable for PHP 8.0+.

Added MongoDB\BSON\Binary::TYPE_COLUMN.

PECL mongodb 1.7.0 Added MongoDB\BSON\Binary::TYPE_ENCRYPTED.
PECL mongodb 1.3.0 Implements MongoDB\BSON\BinaryInterface.
PECL mongodb 1.2.0 Implements Serializable and JsonSerializable.

Table of Contents