我尝试使用Doctrine更新嵌入式mongodb文档:我想搜索嵌入式文档(在其父级内...),然后在其父级中更新子文档。基本上,这是我的数据结构:
class a{
protected $id;
protected $objectB;
portected $myArray; // type of class c
}
class b{
protected $id;
protected $attribute;
protected $realCoolAttribute;
}
class c{
protected $id;
protected $attribute;
protected $realCoolAttribute;
}
所有这些属性都在其类中包含其getter和setter。但我也试过使用公共属性而不是受保护属性。
我可以搜索甚至删除嵌入的文档。我也能够改变简单的属性。但是,如果我尝试更改一个复杂的属性,它是一个数组的成员,或者如果我想要更改的属性是一个完整的文档(而不是一个简单的值...),我收到以下错误信息:
不允许使用零长度密钥,您是否使用带双引号的$?
我要更新的新文档已完成,包含属性和ID。
我将不胜感激任何帮助