php - mongodb get id as string not as mongoId object on find
lets say i have many documents inside 1 collection that look like this
Array
(
[_id] => MongoId Object
(
[$id] => 547b04884a08bb0f201026c2
)
[name] => someName
[description] => someDescription
)
what should i do to get return array that looks like this
Array
(
[$id] => 547b04884a08bb0f201026c2
[name] => someName
)
i know i can use something like this $collection->find(array(), array('name','_id' => array( '$id')));
but that returns me array with name and mongoId objects which contains variable id and i would like to get up specifed array, so i dont have to extract that id. can someone please give me an example or point me in right direction what and where to look
Answer
Solution:
For most use cases you can just work directly with the MongoID object as-is.
If you're combining the document's
_id
with other strings for output/display, you can use use it as-is. The MongoID class has a toString() method, which simply returns the raw value of the object as a string.If you're using the document ID to do further queries against Mongo, you need to use a MongoID object anyway, so there is still no point converting it.