クエリ結果をループして、すべての MongoId オブジェクトを文字列に変換できます。以下の関数は、MongoCollection::findOne() からの単一の結果配列、または MongoCollection::find() からの MongoCursor 結果のいずれかが与えられた場合、すべての ID を変換します。
function convert_mongoid_to_string(& $mongo_object)
{
foreach($mongo_object as $mongo_key=>$mongo_element)
{
if(is_array($mongo_element)||is_object($mongo_element))
{
if(get_class($mongo_element) === "MongoId")
{
//cast the object to the original object passed by reference
$mongo_object[$mongo_key]=(string)$mongo_element;
}
else
{
//recursively dig deeper into object looking for MongoId's
convert_mongoid_to_string($mongo_element);
}
}
else
{
//is scalar so just continue
continue;
}
}
return $mongo_object;
}