how to use "find" to search "_id => OBjectID("id")" in Perl API how to use "find" to search "_id => OBjectID("id")" in Perl API mongodb mongodb

how to use "find" to search "_id => OBjectID("id")" in Perl API


The implementation seems changed.

$mongo->my_db->my_collection(  find({ _id => MongoDB::OID->new(value => "4d2a0fae9e0a3b4b32f70000")}));


I found the solution, you have to do:

$mongo->my_db->my_collection(find({ _id => $mongo->oid("4d2a0fae9e0a3b4b32f70000")}));


In reading the MongoDB::Tutorial

use MongoDB loads most of the packages you'll need to interact with MongoDB: MongoDB::Connection, MongoDB::Database, MongoDB::Collection, and MongoDB::Cursor. To use special Mongo data types (see MongoDB::DataTypes), you have to include them separately. So, usually, to use Mongo, you'll start with at least:

use MongoDB;use MongoDB::OID;

Then you can just do this in your code:

$db->$collection->find_one({ _id => $id })