php - mongodb get id as string not as mongoId object on find

950

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

675

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.

People are also looking for solutions to the problem: php - Accessing Static variables in cakephp

Source

Didn't find the answer?

Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.

Ask a Question

Write quick answer

Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.

Similar questions

Find the answer in similar questions on our website.