Doctrine / MongoDB / Strategy - 使用persist / flush更新文档

时间:2012-02-14 23:06:19

标签: mongodb doctrine

我正在对mongo db文件运行单元测试...并发现在找到现有对象后唯一可以更新现有对象的方法是在Annotations中设置(strategy =“set”)。有谁知道为什么要这样设置?更好的是,使用该设置时这会发生什么变化呢?

1 个答案:

答案 0 :(得分:0)

strategy="set"属性引用文档属性的@Collection注释:

http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/annotations-reference.html#collection

例如:

class User {

   /** @Collection(strategy="set") */
   public $tags;
}

策略的默认值为pushAll,它会附加添加到$tags数组的新值。

使用set$tags数组将覆盖存储在数据库中的值。