MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Memorizzazione di una query in Mongo

Penso che il messaggio di errore contenga le informazioni importanti che devi considerare:

Poiché stai cercando di memorizzare una query (o parte di una) in un documento, ti ritroverai con nomi di attributi che contengono parole chiave dell'operatore mongo (come $or , $ne , $gt ). La documentazione di mongo fa effettivamente riferimento a questo scenario esatto - enfasi aggiunta

Non mi fiderei di applicazioni di terze parti come Robomongo in questi casi. Suggerisco di eseguire il debug/testare questo problema direttamente nella shell mongo.

Il mio suggerimento sarebbe di memorizzare una versione con escape della query nel documento per non interferire con le parole chiave riservate dell'operatore. Puoi utilizzare il JSON.stringify(my_obj); disponibile per codificare la tua query parziale in una stringa e quindi analizzarla/decodificarla quando scegli di recuperarla in seguito:JSON.parse(escaped_query_string_from_db)