NAME
MongoDB::Async::BSON - Tools for serializing and deserializing data in BSON form
VERSION
version 0.503.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