sql >> Databasteknik >  >> NoSQL >> MongoDB

Söker i mongo db med mongoose regex vs. text

Tja, både regex och textsökning ($text) hjälper dig att söka i text mycket effektivt. Båda har sina egna fördelar och nackdelar, men det finns två tydliga skillnader

regex

  • Regex utnyttjar inte index, såvida du inte söker i början av strängen med ^ operatör.

  • Regex låter dig söka i deltext. därför .* och så många andra mönster.

  • Regex stöder inte stopp- eller brusord.

$text

textindex i mongodb är riktigt snabba och bör föredras. MongoDB implementerar dock inte fullständiga textindex. En huvudsaklig nackdel är att den inte stöder partiell matchning. t.ex. om du söker efter katt, kommer den bara att söka efter katt och katter men inte bobcat eller larv.

Slutsatsen är om du funderar på att implementera funktioner som RDBMS like operator, '$text' kommer inte att hjälpa dig (åtminstone i nuvarande implementeringar av MongoDB, men i framtiden kan det komma att ändras).



  1. Skriver ut Mongo-frågeutdata till en fil i mongo-skalet

  2. Uppdatera ett underdokument som finns i en array som finns i ett MongoDB-dokument

  3. Finns det något sätt att implementera paginering i fjäderwebflux och fjäderdata reaktiv

  4. Twisted:varför är det så att om du skickar en uppskjuten återuppringning till en uppskjuten tråd så blockeras tråden helt plötsligt?