MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Stocker une requête dans Mongo

Je pense que le message d'erreur contient les informations importantes dont vous devez tenir compte :

Puisque vous essayez de stocker une requête (ou une partie d'une requête) dans un document, vous vous retrouverez avec des noms d'attributs contenant des mots clés d'opérateur mongo (tels que $or , $ne , $gt ). La documentation mongo fait en fait référence à ce scénario exact - emphase ajoutée

Je ne ferais pas confiance aux applications tierces telles que Robomongo dans ces cas. Je suggère de déboguer/tester ce problème directement dans le shell mongo.

Ma suggestion serait de stocker une version échappée de la requête dans votre document afin de ne pas interférer avec les mots-clés d'opérateur réservés. Vous pouvez utiliser le JSON.stringify(my_obj); disponible pour encoder votre requête partielle dans une chaîne, puis l'analyser/la décoder lorsque vous choisissez de la récupérer ultérieurement :JSON.parse(escaped_query_string_from_db)