NAME

MongoDB::Async::BSON - Tools for serializing and deserializing data in BSON form

VERSION

version 0.702.2

NAME

MongoDB::Async::BSON - Encoding and decoding utilities (more to come)

ATTRIBUTES

looks_like_number

$MongoDB::Async::BSON::looks_like_number = 1;
$collection->insert({age => "4"}); # stores 4 as an int

If this is set, the driver will be more aggressive about converting strings into numbers. Anything that Scalar::Util's looks_like_number would approve as a number will be sent to MongoDB as its numeric value.

Defaults to 0 (for backwards compatibility).

If you do not set this, you may be using strings more often than you intend to. See the MongoDB::Async::DataTypes section for more info on the behavior of strings vs. numbers.

char

$MongoDB::Async::BSON::char = ":";
$collection->query({"x" => {":gt" => 4}});

Can be used to set a character other than "$" to use for special operators.

Turn on/off UTF8 flag when return strings

# turn off utf8 flag on strings
$MongoDB::Async::BSON::utf8_flag_on = 0;

Default is turn on, that compatible with version before 0.34.

If set to 0, will turn of utf8 flag on string attribute and return on bytes mode, meant same as :

utf8::encode($str)

Currently MongoDB return string with utf8 flag, on character mode , some people wish to turn off utf8 flag and return string on byte mode, it maybe help to display "pretty" strings.

NOTE:

If you turn off utf8 flag, the string length will compute as bytes, and is_utf8 will return false.

Return boolean values as booleans instead of integers

$MongoDB::Async::BSON::use_boolean = 1

By default, booleans are deserialized as integers. If you would like them to be deserialized as "true" in boolean and "false" in boolean, set $MongoDB::Async::BSON::use_boolean to 1.

Return binary data as instances of MongoDB::Async::BSON::Binary instead of string refs.

$MongoDB::Async::BSON::use_binary = 1

For backwards compatibility, binary data is deserialized as a string ref. If you would like to have it deserialized as instances of MongoDB::Async::BSON::Binary (to, say, preserve the subtype), set $MongoDB::Async::BSON::use_binary to 1.

$MongoDB::Async::BSON:dt_type = "DateTime"

Sets the type of object which is returned for DateTime fields. The default is DateTime. Other acceptable values are DateTime::Tiny and undef. The latter will give you the raw epoch value rather than an object.

AUTHORS

  • Florian Ragwitz <rafl@debian.org>

  • Kristina Chodorow <kristina@mongodb.org>

  • Mike Friedman <mike.friedman@10gen.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2012 by 10gen, Inc..

This is free software, licensed under:

The Apache License, Version 2.0, January 2004