PHP 8.4.1 Released!

MongoDB\BSON\Document::toRelaxedExtendedJSON

(mongodb >=1.16.0)

MongoDB\BSON\Document::toRelaxedExtendedJSONReturns the Relaxed Extended JSON representation of the BSON document

Description

final public MongoDB\BSON\Document::toRelaxedExtendedJSON(): string

Converts the BSON document to its » Relaxed Extended JSON representation. The relaxed format prefers use of JSON type primitives at the expense of type fidelity and is most suited for producing output that can be easily consumed by web APIs and humans.

Parameters

This function has no parameters.

Return Values

Returns a string containing the » Relaxed Extended JSON representation of the BSON document.

Examples

Example #1 MongoDB\BSON\Document::toRelaxedExtendedJSON() example

<?php

$documents
= [
[
'null' => null ],
[
'boolean' => true ],
[
'string' => 'foo' ],
[
'int32' => 123 ],
[
'int64' => 4294967295 ],
[
'double' => 1.0 ],
[
'nan' => NAN ],
[
'pos_inf' => INF ],
[
'neg_inf' => -INF ],
[
'array' => [ 'foo', 'bar' ]],
[
'document' => [ 'foo' => 'bar' ]],
[
'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
[
'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
[
'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
[
'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
[
'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
[
'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
[
'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
[
'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
[
'minkey' => new MongoDB\BSON\MinKey ],
[
'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach (
$documents as $document) {
$bson = MongoDB\BSON\Document::fromPHP($document);
echo
$bson->toRelaxedExtendedJSON(), "\n";
}

?>

The above example will output:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : 123 }
{ "int64" : 4294967295 }
{ "double" : 1.0 }
{ "nan" : { "$numberDouble" : "NaN" } }
{ "pos_inf" : { "$numberDouble" : "Infinity" } }
{ "neg_inf" : { "$numberDouble" : "-Infinity" } }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } }
{ "date" : { "$date" : "2015-10-28T00:00:00Z" } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : 1 } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

See Also

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top