首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为关联数组选择哪种映射类型?教条ODM

为关联数组选择哪种映射类型?教条ODM
EN

Stack Overflow用户
提问于 2010-11-15 23:56:02
回答 5查看 7.3K关注 0票数 12

我有一个关于的简单问题(顺便说一句,真的很棒!)ODM理论。

假设您有一个文档,如下所示:

代码语言:javascript
复制
/**
 * @Document
 */
class Test
{
    /** @Id */
    public $id;
    /** @WHICHTYPE */
    public $field = array();
}

现在我想存储一个关联数组,如下所示

代码语言:javascript
复制
array("test" => "test1", "anothertest" => "test2", ......);

在该类的$field属性中。

我知道对于收集来说没有问题,但是在Doctrine中,当我使用@ MongoDB或者简单地使用@Field值时,只有值被存储(例如,在映射驱动程序中使用array_values来进行集合)。因此,存储值如下所示

代码语言:javascript
复制
array("test1", "test2", ....)

有人知道我应该使用哪种Doctrine-ODM映射类型来保留数据库中的键值对吗?

先谢谢你,

Andi (来自德国的问候)

EN

回答 5

Stack Overflow用户

发布于 2010-11-30 04:35:17

它应该是Hash类型:

http://readthedocs.org/docs/doctrine-mongodb-odm/en/latest/reference/annotations-reference.html?highlight=hash#hash

票数 17
EN

Stack Overflow用户

发布于 2016-09-20 20:23:57

对于ODM 2.0之前的版本,@Hash将提供必要的数据类型。然而,在ODM 2.0之后,@Hash字段将被删除。为了使用它,我们必须使用带有hash类型的@field。有关进一步的参考,请参阅[click here][1]

票数 1
EN

Stack Overflow用户

发布于 2018-05-11 23:01:01

我认为您正在寻找hash数据类型。不是你吗?

代码语言:javascript
复制
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;

/**
 * @Document
 */
class Test
{
    /** @Id */
    public $id;

    /**
     * @MongoDB\Field(type="hash")
    */
    public $field;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4186140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档