MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB $regex заявка и потенциални подвизи

Моето доста лично усещане казва:Не се притеснявайте. Но отново, ако все пак го направите или дори се наложи, ето няколко предложения как да се справите с това изискване:

  1. Можете да определите максимално време, за което една заявка може да се изпълнява, като използвате maxTimeMS() .
  2. Можете да опитате да дезинфекцирате въвеждането на regex, но се съмнявам, че има библиотеки, които биха ви помогнали с това предвид безкрайните вариации на потенциално дълги сложни заявки. Ограничаването на дължината на регулярен израз също може да помогне, но от друга страна вероятно проваля целта да се позволи на потребителя удобно да търси с помощта на произволни филтри.
  3. Можете да предоставите по-структурирани входни заявки, които напр. позволявайте на потребителя да въведе само един буквено-цифров текст, който след това бихте обвили в регулярен израз от страната на сървъра, за да позволите напр. "започва с", "съдържа" или "завършва с" заявки или нещо подобно.
  4. Можете да разрешите само една единствена паралелна заявка на потребител (сесия? ip?), което вероятно би помогнало малко срещу фатални DoS атаки, но със сигурност не и срещу разпределени... Или дори можете да разрешите само едно единствено паралелно извикване от това крайна точка в цялата система.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Сортиране от страна на сървъра с помощта на Mongoose (mongodb + node.js)

  2. Docker:променете папката, където да съхранявате томовете на docker

  3. Размер на документа в MongoDb

  4. Какви са всички мангусти и къде са документирани?

  5. Как мога да съхранявам изображения в mongodb с node.js?