sql >> Database >  >> NoSQL >> MongoDB

MongoException:sleutels met een lengte van nul zijn niet toegestaan, heb je $ met dubbele aanhalingstekens gebruikt?

Ik heb dit zojuist opgelost door de ID van het object waarnaar wordt verwezen te gebruiken in plaats van het referentieobject zelf als mijn zoekterm.

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

EDIT:Dat is niet het gooien van de uitzondering, maar het geeft ook niets terug. Ik heb geprobeerd de nieuwe MongoId($id) te gebruiken, zoals op een paar plaatsen werd gesuggereerd (Doctrine MongoDB vinden op id ), maar dat werkte ook niet. Ten slotte heb ik iets gevonden in de volledige querybuilder die zoekt op verwijzingen (let op:dit gebruikt het object in plaats van de object-ID).

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

Ik heb het gevoel dat dit eenvoudiger moet worden gedaan (zoals je oorspronkelijk deed), maar deze oplossing werkt voor mij.



  1. hoe een samengestelde index in mongodb te structureren

  2. voeg array in mongodb in met behulp van pymongo

  3. Aggregation Query gebruiken met MongoItemReader in lentebatch

  4. Mongo Triple Samengestelde Index