Що се отнася до проблема с инжектирането, както при SQL, рискът е значително по-нисък... макар и теоретично възможен чрез неизвестен вектор на атака.
Структурите на данните и протоколът са двоични и се управляват от API, вместо да използват екранирани стойности в рамките на специфичен за домейн език. По принцип не можете просто да подмамите анализатора да добави ";db.dropCollection()" в края.
Ако се използва само за заявки, вероятно е добре... но все пак бих ви предупредил да използвате малко проверка:
- Уверете се, че използвате само буквено-цифрови знаци (филтрирайте или обезсилете нули и всичко друго, което обикновено не бихте приели)
- Налагане на максимална дължина (например 255 знака) на термин
- Налагане на максимална дължина на цялата заявка
- Специална лента имена на параметри, започващи с "$", като "$where" и подобни
- Не позволявайте вложени масиви/документи/хешове... само низове и int
Освен това имайте предвид, че празна заявка връща всичко. Може да искате ограничение на тази върната стойност. :)