私はよく見ていましたが、私の質問に対する答えを見つけることができないようです。いくつかの異なる組み込みドキュメントタイプを持つ次のドキュメントがある場合、他のドキュメントとは独立して各ドキュメントのタイプマップを設定するにはどうすればよいですか?埋め込み文書でMongoDB/PHPの型マップを個別に設定する
$cursor = $mongo->executeQuery("TestDB.TestCollection", new MongoDB\Driver\Query([]));
$cursor->setTypeMap(['root' => 'RootObj', 'document' => 'SomeOtherObj']);
これはSomeOtherObjクラスのインスタンスに埋め込まれた文書のすべてをアンシリアライズし、ルートドキュメントう:私はPHP7 MongoDB driverを使用して、すべての埋め込みドキュメントの型マップを設定することができます方法を知っている
{
_id : ObjectId("bf98321fba31233"),
name : "Example",
comments : [
comment : { _id : ObjectId("bf98321fba31233"), text : "Example comment type" },
comment : { _id : ObjectId("bf98321fba31233"), text : "Another example" }
],
attachments : [
attachment : { _id : ObjectId("bf98321fba31233"), url : "/var/www/blah/foo" },
attachment : { _id : ObjectId("bf98321fba31233"), url : "/var/www/blah/bar" }
]
}
RootObjクラスに追加します。私が本当にやりたいことは、埋め込まれたドキュメントの種類ごとにこれを指定することです。
$cursor->setTypeMap(['root' => 'RootObj', 'comment' => 'CommentObj', 'attachment' => 'AttachmentObj']);
できますか?
説明している機能はまだ実装されていません。関連するトラッキングチケットは[PHPC-314](https://jira.mongodb.org/browse/PHPC-314)です。 – jmikola
@jmikolaヘッドアップのおかげで – ryansin