我有一个与 php 中的 Doctrine 2 MongoDB ODM 相关的问题。
所以我有一个EntityA并且在EntityA 中我想通过EntityB的ObjectId引用EntityB。因此,在EntityA中,我有一个带有以下 Docblock的变量A: @ODM\ReferenceOne(targetDocument="EntityB", simple="true")。
问题是当我调用setMethod时,它将整个EntityB设置为EntityA而不仅仅是我想做的objectId 。
基本上 EntityA 看起来像这样:
ENTITYA {
randomFieldA,
randomFieldB,
EntityB ObjectId
}
有谁知道我想要的是否像我尝试过的那样可行?还是有人知道更好的方法?
基本上像这个例子:
/** @Document */
class TopCategory
{
/** @EmbedMany(targetDocument="SubCategory") */
private $subCategories;
}
/** @EmbeddedDocument */
class SubCategory
{
/** @ReferenceOne(targetDocument="Product") */
private $product;
}
/** @Document */
class Product
{
/** @id */
private $id;
/** @String */
private $name;
}
现在我如何只存储产品的 id 而不是整个产品subCategory->product
?