2

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
4

1 に答える 1