MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Speichern einer Abfrage in Mongo

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)