sql >> Databáze >  >> NoSQL >> MongoDB

Uložení dotazu v Mongo

Myslím, že chybová zpráva obsahuje důležité informace, které musíte vzít v úvahu:

Protože se pokoušíte uložit dotaz (nebo jeho část) do dokumentu, skončíte s názvy atributů, které obsahují klíčová slova operátora mongo (například $or , $ne , $gt ). Dokumentace mongo ve skutečnosti odkazuje přesně na tento scénář - přidán důraz

V těchto případech bych nevěřil aplikacím třetích stran, jako je Robomongo. Doporučuji ladit/testovat tento problém přímo v mongo shellu.

Můj návrh by byl uložit unifikovanou verzi dotazu do vašeho dokumentu, aby nezasahovala do vyhrazených klíčových slov operátorů. Můžete použít dostupný JSON.stringify(my_obj); zakódovat částečný dotaz do řetězce a poté jej analyzovat/dekódovat, když se jej rozhodnete později načíst:JSON.parse(escaped_query_string_from_db)



  1. Jak najít dokument a jeden vnořený dokument odpovídající daným kritériím v kolekci MongoDB

  2. Musím ručně zavřít připojení mongoose?

  3. Podmíněně vyhodnoťte prvek pole, který se má vrátit

  4. Mongo DB:Najděte hodnotu vnořeného pole