PHP を使用して Mongo ID ObjectId の 16 進コードを抽出しようとしています。ID番号を抽出して別の変数に保存しようとすると、このエラーが発生します。
Mongo クエリによってフェッチされたドキュメントの内容を var_dumping すると、次のようになります。
object(MongoId)#242 (1) { ["$id"]=> string(24) "52795dc1613f4547710000df" }
$id 文字列を取得するには、次のようにします。
$mongo = new MongoClient("mongodb://username:password@localhost/database");
$db = $mongo->selectDb("database");
$collection = $db->selectCollection("someCollection");
$doc = $collection->find( /* some query to get a document here */ )->getNext();
$recordId = $doc["_id"]['$id'];
そして、これにより次のエラーが発生します。
PHP Fatal error: Cannot use object of type MongoId as array