映射 - Mongodb Symfony2 中的嵌入式文档

Mapping - Mongodb Embedded Document in Symfony2

我正在尝试使用 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"

}
]

如您所见,我有字段 "Address" 和 "Purshaed_items",它们是嵌入式文档。 我找到了这个 link http://doctrine-orm.readthedocs.org/projects/doctrine-mongodb-odm/en/latest/reference/embedded-mapping.html 我想我的案例将是 "Embed Many" 但并没有真正了解它是如何工作的?

有人可以解释一下它是如何工作的吗?

谢谢

我会这样做:

/** @EmbedMany(targetDocument="PurshaedItem") */
    private $purshaedItems = array();

假设您有另一个文档 class 名为 PurshaedItem(也许是 PurchasedItem)。

目标文档将被映射为:

/**
 * @MongoDB\EmbeddedDocument
 */
class PurchasedItem
{
  // whatever properties ...
}

而如果要查询内嵌文档,可以在controller中获取(推荐),这里是我的简单example.

为了在 twig 模板中获取它,这里是另一个 example

示例来自简单的 Symfony 博客应用程序。有 3 个文档:Post、Tag 和 Comment。 Post 将标签和评论作为嵌入属性。看一下代码,很简单。 如果回答对您有用,请点击采纳。