Мисля, че съобщението за грешка съдържа важната информация, която трябва да имате предвид:
Тъй като се опитвате да съхраните заявка (или част от такава) в документ, ще се окажете с имена на атрибути, които съдържат ключови думи на mongo оператор (като $or
, $ne
, $gt
). Документацията на mongo всъщност препраща към този точен сценарий
- добавен акцент
Не бих се доверил на приложения на трети страни като Robomongo в тези случаи. Предлагам отстраняване на грешки/тестване на този проблем директно в mongo shell.
Моето предложение би било да съхраните екранирана версия на заявката във вашия документ, за да не се намесвате в запазените ключови думи на оператора. Можете да използвате наличния JSON.stringify(my_obj);
за да кодирате частичната си заявка в низ и след това да я анализирате/декодирате, когато решите да я извлечете по-късно:JSON.parse(escaped_query_string_from_db)