php - MongoDB:ObjectId 到字符串

标签 php mongodb

大家好,我使用 MongoDB 的 find() 方法是这样的:

$cursor = $collection->find();
foreach($cursor as $doc) {
   // do something....
}

没关系,但我的 _id 属性是自动生成的,所以当我使用上面的代码时 $doc[_id] is Object 但我需要一个字符串。

如何自动将其转换为字符串。不是这样的:

foreach($cursor as $doc) {      
    $doc['_id'] = (string)$doc['_id'];
}

最佳答案

为了自动将来自 MongoDB 驱动程序的任何结果的 ObjectId 转换为字符串,我使用了这个函数:

function convertMongoIds(array &$array){
    foreach ($array as &$element){
        if (is_array($element)){
            convertMongoIds($element);
        }else if (is_object($element) && get_class($element) == "MongoId"){
            $element = (string) $element;
        }
    }
}

关于php - MongoDB:ObjectId 到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8106517/

相关文章:

java - 使用 MongoDB Java 3.0 驱动程序批量更新

mongodb - 如何在 MongoDB 中 $set 子子数组项

php - SQL like 语句问题

php - 如何通过 PHP 脚本设置 cron 作业

node.js - 在 Node 中对 mongodb 客户端 findOne() 进行排序

node.js - azure 函数( Node )调用 mongodb 完成且没有错误,但查询没有返回任何内容

mongodb - 如何为同名的嵌套字段创建文本索引

php - 我可以从类外部的特征中调用静态函数吗?

php - 在 Auth::attempt() Laravel 5.1 中禁用重定向

php - 当表列连接两次时从 mySQL 回显数据