Właśnie to naprawiłem, używając jako wyszukiwanego terminu identyfikatora obiektu odniesienia zamiast samego obiektu odniesienia.
$_repo->findOneByCustomer($customer->getId());
EDYCJA:To nie jest wyjątek, ale w rzeczywistości niczego nie zwraca. Próbowałem użyć nowego MongoId ($id), jak zasugerowano w kilku miejscach (Doctrine MongoDB znajdź według id ), ale to też nie zadziałało. Wreszcie znalazłem coś w konstruktorze pełnych zapytań, które wyszukuje według referencji (uwaga:używa obiektu zamiast identyfikatora obiektu).
$dm->createQueryBuilder()->find('CantaoCustomerBundle:CustomerTags')
->field('customer')->references($customer)
->getQuery()->execute();
Uważam, że należy to zrobić prościej (tak jak to zrobiłeś pierwotnie), ale ta poprawka działa dla mnie.