У меня есть документ Playlist
, который ссылается на множество документов Song
, которые, в свою очередь, ссылаются на другие документы:
/** @Document(collection="playlists") */
class Playlist
{
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ReferenceMany(targetDocument="Song", simple=true)
*/
protected $songs;
}
/** @Document(collection="songs") */
class Song
{
/**
* @var string
*
* @ReferenceOne(targetDocument="Foo", simple=true)
*/
protected $foo;
/**
* @var string
*
* @ReferenceOne(targetDocument="Bar", simple=true)
*/
protected $bar;
}
Другой документ Like
ссылается на один Playlist
:
/** @Document(collection="likes") */
class Like
{
/**
* @var Playlist
*
* @ReferenceOne(targetDocument="Playlist", simple=true)
*/
protected $playlist;
}
Каждый раз, когда я сохраняю (вставляю) новый Like
документ, некоторые ссылки (глубокие или нет) загружаются (выполняется множество связанных запросов); что в данном конкретном случае бесполезно.
Как я могу избежать этого «жадного» поведения (рефакторинг модели, конфигурация, кэширование и т. д.)?