sql >> Databáze >  >> NoSQL >> MongoDB

MongoException:klíče nulové délky nejsou povoleny, použili jste $ s dvojitými uvozovkami?

Právě jsem to opravil tak, že jsem jako hledaný výraz použil ID odkazovaného objektu namísto samotného referenčního objektu.

$_repo->findOneByCustomer($customer->getId());

EDIT:To nezpůsobuje výjimku, ale ve skutečnosti to také nic nevrací. Zkusil jsem použít nový MongoId ($id), jak bylo navrženo na několika místech (Doctrine MongoDB find by id ), ale ani to nefungovalo. Nakonec jsem v úplném nástroji pro tvorbu dotazů našel něco, co vyhledává podle odkazů (poznámka:místo ID objektu se používá objekt).

$dm->createQueryBuilder()->find('CantaoCustomerBundle:CustomerTags')
                         ->field('customer')->references($customer)
                         ->getQuery()->execute();

Mám pocit, že by to mělo být provedeno jednodušeji (jako jste to udělali původně), ale tato oprava mi vyhovuje.



  1. Je to dobrý případ použití pro Redis na ServiceStack REST API?

  2. Redis zápis do .ssh/authorized_keys

  3. Jak třídit data v Mongo ve vlastním pořadí

  4. Vložení seznamu do jiného seznamu v Redis