MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Armazenando uma consulta no Mongo


Acho que a mensagem de erro contém as informações importantes que você precisa considerar:

Como você está tentando armazenar uma consulta (ou parte de uma) em um documento, você acabará com nomes de atributos que contêm palavras-chave do operador mongo (como $or , $ne , $gt ). A documentação do mongo faz referência a esse cenário exato - enfase adicionada

Eu não confiaria em aplicativos de terceiros, como o Robomongo, nesses casos. Sugiro depurar/testar esse problema diretamente no shell do mongo.

Minha sugestão seria armazenar uma versão com escape da consulta em seu documento para não interferir nas palavras-chave reservadas do operador. Você pode usar o JSON.stringify(my_obj); disponível para codificar sua consulta parcial em uma string e depois analisá-la/decodificá-la quando optar por recuperá-la posteriormente:JSON.parse(escaped_query_string_from_db)