0
我有一個很好的看看,但我似乎無法找到我的問題的答案。如果我有以下幾種不同的嵌入式文檔類型的文檔,如何獨立設置每個文檔的類型映射?MongoDB/PHP在嵌入式文檔中獨立設置地圖類型
{
_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" }
]
}
我知道我可以使用PHP7 MongoDB driver設置一個類型映射所有嵌入式文件:
$cursor = $mongo->executeQuery("TestDB.TestCollection", new MongoDB\Driver\Query([]));
$cursor->setTypeMap(['root' => 'RootObj', 'document' => 'SomeOtherObj']);
這將反序列化所有的嵌入式文件到SomeOtherObj類的實例,和根文件進入RootObj類。我真正想要做的是爲每種類型的嵌入式文檔指定它。
$cursor->setTypeMap(['root' => 'RootObj', 'comment' => 'CommentObj', 'attachment' => 'AttachmentObj']);
可以這樣做嗎?
您描述的功能尚未實現。相關的跟蹤標籤是[PHPC-314](https://jira.mongodb.org/browse/PHPC-314)。 – jmikola
@jmikola感謝您的領導 – ryansin