Jeg tror, at fejlmeddelelsen indeholder de vigtige oplysninger, du skal overveje:
Da du forsøger at gemme en forespørgsel (eller en del af en) i et dokument, vil du ende op med attributnavne, der indeholder mongo-operatørnøgleord (såsom $or
, $ne
, $gt
). Mongo-dokumentationen refererer faktisk til netop dette scenarie
- fremhævelse tilføjet
Jeg ville ikke stole på tredjepartsapplikationer såsom Robomongo i disse tilfælde. Jeg foreslår, at du fejlretter/tester dette problem direkte i mongo-skallen.
Mit forslag ville være at gemme en escaped version af forespørgslen i dit dokument for ikke at forstyrre reserverede operatørnøgleord. Du kan bruge den tilgængelige JSON.stringify(my_obj);
for at indkode din delvise forespørgsel til en streng og derefter parse/afkode den, når du vælger at hente den senere:JSON.parse(escaped_query_string_from_db)