View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Ivan Ratnikov > MongoDB-Async > MongoDB::Async::BSON



Annotate this POD


View/Report Bugs
Module Version: 0.702.2   Source   Latest Release: MongoDB-Async-0.702.3


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


version 0.702.2


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



    $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.


    $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 :


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.


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.



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

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004
syntax highlighting: