Mike Friedman > MongoDB-0.702.1 > MongoDB::OID

Download:
MongoDB-0.702.1.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.702.1   Source   Latest Release: MongoDB-v0.707.2.0

NAME ^

MongoDB::OID - A Mongo Object ID

VERSION ^

version 0.702.1

SYNOPSIS ^

If no _id field is provided when a document is inserted into the database, an _id field will be added with a new MongoDB::OID as its value.

    my $id = $collection->insert({'name' => 'Alice', age => 20});

$id will be a MongoDB::OID that can be used to retreive or update the saved document:

    $collection->update({_id => $id}, {'age' => {'$inc' => 1}});
    # now Alice is 21

To create a copy of an existing OID, you must set the value attribute in the constructor. For example:

    my $id1 = MongoDB::OID->new;
    my $id2 = MongoDB::OID->new(value => $id1->value);
    my $id3 = MongoDB::OID->new($id1->value);
    my $id4 = MongoDB::OID->new($id1);

Now $id1, $id2, $<$id3> and $id4 will have the same value.

OID generation is thread safe.

NAME ^

MongoDB::OID - A Mongo ObjectId

SEE ALSO ^

Core documentation on object ids: http://dochub.mongodb.org/core/objectids.

ATTRIBUTES ^

value

The OID value. A random value will be generated if none exists already. It is a 24-character hexidecimal string (12 bytes).

Its string representation is the 24-character string.

METHODS ^

to_string

    my $hex = $oid->to_string;

Gets the value of this OID as a 24-digit hexidecimal string.

get_time

    my $date = DateTime->from_epoch(epoch => $id->get_time);

Each OID contains a 4 bytes timestamp from when it was created. This method extracts the timestamp.

TO_JSON

    my $json = JSON->new;
    $json->allow_blessed;
    $json->convert_blessed;

    $json->encode(MongoDB::OID->new);

Returns a JSON string for this OID. This is compatible with the strict JSON representation used by MongoDB, that is, an OID with the value "012345678901234567890123" will be represented as {"$oid" : "012345678901234567890123"}.

AUTHOR ^

  Kristina Chodorow <kristina@mongodb.org>

AUTHORS ^

COPYRIGHT AND LICENSE ^

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

This is free software, licensed under:

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