sql >> Databasteknik >  >> NoSQL >> MongoDB

Lagra en fråga i Mongo

Jag tror att felmeddelandet innehåller den viktiga informationen du behöver tänka på:

Eftersom du försöker lagra en fråga (eller en del av en) i ett dokument, kommer du att få attributnamn som innehåller mongo-operatörsnyckelord (som $or , $ne , $gt ). Mongodokumentationen hänvisar faktiskt till detta exakta scenario - betoning tillagd

Jag skulle inte lita på tredjepartsapplikationer som Robomongo i dessa fall. Jag föreslår att du felsöker/testar det här problemet direkt i mongo-skalet.

Mitt förslag skulle vara att lagra en escaped version av frågan i ditt dokument för att inte störa reserverade operatörsnyckelord. Du kan använda den tillgängliga JSON.stringify(my_obj); för att koda din delfråga till en sträng och sedan analysera/avkoda den när du väljer att hämta den senare:JSON.parse(escaped_query_string_from_db)



  1. MongoDB:Avvägningar med att ta bort en samling kontra att ta bort alla dess dokument

  2. Spring boot försöker ansluta till mongo när man lägger till mongo-java-driver maven-beroende

  3. Node.js filuppladdning (Express 4, MongoDB, GridFS, GridFS-Stream)

  4. utför matematik i sökfrågor mongodb