sql >> Database teknologi >  >> NoSQL >> MongoDB

Søger i mongo db ved hjælp af mongoose regex vs. tekst

Nå, både regex og tekstsøgning ($text) hjælper dig med at søge i tekst meget effektivt. Begge har deres egne fordele og ulemper, men der er to klare forskelle

regex

  • Regex udnytter ikke indekser, medmindre du søger i begyndelsen af ​​strengen ved hjælp af ^ operatør.

  • Regex giver dig mulighed for at søge i delvis tekst. derfor .* og så mange andre mønstre.

  • Regex understøtter ikke stop- eller støjord.

$text

tekstindekser i mongodb er virkelig hurtige og bør foretrækkes. MongoDB implementerer dog ikke fuldfunktionelle tekstindekser. En væsentlig ulempe er, at den ikke understøtter delvis match. for eksempel. hvis du søger efter kat, vil den kun søge efter kat og katte, men ikke bobcat eller larve.

Bundlinjen er, hvis du ønsker at implementere funktioner som RDBMS like operator, '$text' vil ikke hjælpe dig (i hvert fald i nuværende implementeringer af MongoDB, men i fremtiden kan det ændre sig).



  1. Undtagelse, der godkender MongoCredential og Uncategorized Mongo Db Exception

  2. Eksempel på brug af socket.io-redis

  3. Kan det betale sig at forkorte MongoDB ejendomsnavne?

  4. Forskellen mellem InputSplit vs Blocks i Hadoop