【发布时间】:2016-03-12 15:13:40
【问题描述】:
我们在我们的项目中使用了学说/mongodb-odm,并且有一个模型引用了另一个模型:
@ReferenceMany(targetDocument="Extra", simple=true)
当我们检索引用的对象时,其中一个对象可能不再可用。 所以我们添加了 sort 属性来确保执行一个 db 查询(删除的对象被忽略):
@ReferenceMany(targetDocument="Extra", simple=true, sort={"name"="asc"})
在学说/mongodb-odm 1.0.3 中,它不再可能,并且与 Doctrine\ODM\MongoDB\Mapping\MappingException 中断:
ReferenceMany的排序不能与addToSet和pushAll策略一起使用,pushAll用在Example::extras中
为什么我不能在这些策略中使用“排序”?策略不仅对写入请求感兴趣吗?
是否可以使用集合策略来保持相同的应用逻辑?
@ReferenceMany(targetDocument="Extra", simple=true, strategy="set", sort={"name"="asc"})
唯一的区别是,当我添加进一步的引用时,所有现有的引用都会完全重写吗?
【问题讨论】:
标签: mongodb doctrine-odm