当设置null或空数组时,MongoDB / Doctrine不会取消设置字段

时间:2015-06-11 13:08:53

标签: mongodb symfony doctrine-orm

我在MongoDB中有一个表格,其xml架构类似于以下内容:

...
<field name="fieldNameA" type="string" />
<reference-many field="fieldNameB" target-document="RelatedObject" strategy="set" />
...

如果我更新这些记录一切正常,除非我尝试取消设置值。即。

$object->setFieldNameA(null);
$object->setFieldNameB([]);

在这种情况下,当我在对象上调用persistflush时,两个原始值仍保留在数据库中。我希望/希望在集合中取消设置这些属性。

我尝试将nullable="true"包含在字符串字段中,并尝试更改引用对象上使用的策略,但这些更新都没有产生任何影响。任何帮助将不胜感激。

注意:MongoDB版本= 2.6.9

1 个答案:

答案 0 :(得分:0)

我有完全相同的问题。事实证明,首先我必须使这个文件由Doctrine管理。足以通过数据库中的id选择它。只有Doctrine正在删除空值和空集合。