0
我有一個文件用戶包含參考一個嵌入文檔中Doctrine2和MongoDB
/**
* @MongoDB\ReferenceOne(targetDocument="Image")
*/
private $image;
和文檔ImageCollection其嵌入文檔稱爲圖像
/**
* @MongoDB\EmbedMany(targetDocument="Image")
*/
private $images = array();
和我的嵌入文檔圖片包含一些通常的字段。這是我如何嘗試做的參考(上傳者是一些用戶的參考):
$rep = $this->dm->getRepository('Document\ImageCollection');
$qb = $rep->createQueryBuilder('Document\ImageCollection')->field('images.uploader.$id')->equals(new \MongoId($uploader->getId()));
$query = $qb->getQuery(); // get query
$result = $query->execute(); // do query
$arr = $result->toArray(); // get array
$item = array_shift($arr); // get first item of array
$newUser = new Documents\User();
$newUser->setName('Bob King');
$newUser->setImage($item->getImages()[0]);
結果將如下所示。問題是,我不知道爲什麼我的$ ref和$ db是正確的,而$ id爲空?
{
"_id": ObjectID("51c2c357fa463404041b55ce"),
"name": "Bob King",
"image": {
"$ref": "Image",
"$id": null,
"$db": "db_users_and_images"
}
}