MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoException:klucze o zerowej długości są niedozwolone, czy użyłeś $ z podwójnymi cudzysłowami?

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.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Filtry tablicy Mongodb 3.6.0-rc3 nie działają?

  2. Lazy loading/więcej przewijania danych w Mongoose/Nodejs

  3. Jak mogę użyć operatora LIKE na manguście?

  4. Znajdź 15 minut danych z polem ObjectID

  5. Podobnie jak wyszukiwanie w MongoDB za pomocą biblioteki Monk