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

Търсене в mongo db с помощта на mongoose regex срещу текст

Е, както регулярните изрази, така и текстовото търсене ($text) ви помагат да търсите в текст много ефективно. И двете имат своите предимства и недостатъци, но има две ясни разлики

Регулярен израз

  • Regex не се възползва от индекси, освен ако не търсите в началото на низ с помощта на ^ оператор.

  • Regex ви позволява да търсите частичен текст. следователно .* и толкова много други модели.

  • Regex не поддържа думи за спиране или шум.

$text

текстовите индекси в mongodb са наистина бързи и трябва да бъдат предпочитани. Въпреки това, MongoDB не прилага пълнофункционални текстови индекси. Един основен недостатък е, че не поддържа частично съвпадение. напр. ако търсите котка, тя ще търси само котка и котки, но не и риче или гъсеница.

Изводът е, ако искате да внедрите функция като RDBMS like оператор, '$text' няма да ви помогне (поне в текущите реализации на MongoDB, но в бъдеще може да се промени).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Планирайте работата на Node.js на всеки пет минути

  2. Как да защитите вашите бази данни с отворен код с ClusterControl

  3. Мангуста:Схема срещу модел?

  4. Умножете полето по стойност в Mongodb

  5. MongoDB:Как да поискам записи, където полето е нула или не е зададено?