mongodb 在查找时将 id 作为字符串而不是作为 mongoId 对象


mongodb get id as string not as mongoId object on find

>假设我在 1 个集合中有很多文档看起来像这样

Array
(
    [_id] => MongoId Object
        (
            [$id] => 547b04884a08bb0f201026c2
        )
    [name] => someName
    [description] => someDescription
)

我应该怎么做才能获得如下所示的返回数组

Array
(
    [$id] => 547b04884a08bb0f201026c2
    [name] => someName
)

我知道我可以使用这样的东西$collection->find(array(), array('name','_id' => array( '$id')));

但这会返回带有名称和包含变量 id 的 mongoId 对象的数组,我想获得指定的数组,所以我不必提取该 ID。有人可以给我一个例子或指出我正确的方向,在哪里看什么和在哪里看

对于大多数用例,您可以按原样直接使用 MongoID 对象。

如果要将文档的_id与其他字符串组合在一起以进行输出/显示,则可以按原样使用。MongoID类有一个toString()方法,它只是将对象的原始值作为字符串返回。

如果您使用文档 ID 对 Mongo 进行进一步查询,则无论如何都需要使用 MongoID 对象,因此转换它仍然没有意义。