Ik denk dat de foutmelding de belangrijke informatie bevat waarmee u rekening moet houden:
Aangezien u een zoekopdracht (of een deel ervan) in een document probeert op te slaan, krijgt u attribuutnamen die mongo-operatorzoekwoorden bevatten (zoals $or
, $ne
, $gt
). De mongo-documentatie verwijst eigenlijk naar dit exacte scenario
- nadruk toegevoegd
In deze gevallen zou ik applicaties van derden zoals Robomongo niet vertrouwen. Ik raad aan om dit probleem rechtstreeks in de mongo-shell te debuggen/testen.
Mijn suggestie zou zijn om een escape-versie van de query in uw document op te slaan om gereserveerde operator-trefwoorden niet te verstoren. U kunt de beschikbare JSON.stringify(my_obj);
. gebruiken om uw gedeeltelijke query in een tekenreeks te coderen en deze vervolgens te ontleden/decoderen wanneer u ervoor kiest om deze later op te halen:JSON.parse(escaped_query_string_from_db)