我正在尝试使用MongoDB在Symfony2中添加映射信息,如下所示:http://symfony.com/doc/current/bundles/DoctrineMongoDBBundle/index.html [在“添加信息”部分] 但我想要做的是添加嵌入式文档。 以下是我的文档的一部分,其中包含嵌入式文档:
"_id" : "",
"last_name" :,
"first_name" : "",
"address" : [
{
"Street" : "",
"City" : "",
"Zip_Code" : "",
"Country": ""
}
],
"company" : ""
"purshaed_items" : [
{
"items_id" : "",
"category":"",
"price":"",
"date_of_purshae"
}
]
所以你可以看到我有“地址”字段和“Purshaed_items”是嵌入式文档。 我找到了这个链接http://doctrine-orm.readthedocs.org/projects/doctrine-mongodb-odm/en/latest/reference/embedded-mapping.html 我想我的情况将是“嵌入许多”,但并没有真正得到它的工作原理?
有人可以试着解释它是如何运作的吗?
谢谢
答案 0 :(得分:1)
我会这样做:
/** @EmbedMany(targetDocument="PurshaedItem") */
private $purshaedItems = array();
假设您有另一个名为PurshaedItem的文档类(也许是PurchasedItem)。
目标文档将如下映射:
/**
* @MongoDB\EmbeddedDocument
*/
class PurchasedItem
{
// whatever properties ...
}
如果您想查询嵌入式文档,可以在控制器中获取(推荐),这是我的简单example。
为了在树枝模板中获取它,这是另一个example。
示例来自简单的Symfony博客应用程序。有3个文件:帖子,标签和评论。 Post将标签和注释作为嵌入属性。看看代码,很简单。 如果答案对您有用,请单击接受。