Ich denke, die Fehlermeldung enthält die wichtigen Informationen, die Sie berücksichtigen müssen:
Da Sie versuchen, eine Abfrage (oder einen Teil davon) in einem Dokument zu speichern, erhalten Sie am Ende Attributnamen, die Schlüsselwörter für Mongo-Operatoren enthalten (wie $or
, $ne
, $gt
). Die Mongo-Dokumentation verweist tatsächlich auf genau dieses Szenario
- Hervorhebung hinzugefügt
Ich würde Anwendungen von Drittanbietern wie Robomongo in diesen Fällen nicht vertrauen. Ich schlage vor, dieses Problem direkt in der Mongo-Shell zu debuggen/testen.
Mein Vorschlag wäre, eine maskierte Version der Abfrage in Ihrem Dokument zu speichern, um reservierte Operatorschlüsselwörter nicht zu beeinträchtigen. Sie können das verfügbare JSON.stringify(my_obj);
verwenden um Ihre Teilabfrage in eine Zeichenfolge zu codieren und sie dann zu analysieren/decodieren, wenn Sie sie später abrufen möchten:JSON.parse(escaped_query_string_from_db)