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

Bedste måde at udføre en fuldtekstsøgning i MongoDB og Mongoose

Du kan tilføje et tekstindeks til din Mongoose-skemadefinition, der lader dig bruge $text operator i din find forespørgsler for at søge i alle felter inkluderet i tekstindekset.

For at oprette et indeks, der understøtter tekstsøgning på, f.eks. name og profile.something :

var schema = new Schema({
  name: String,
  email: String,
  profile: {
    something: String,
    somethingElse: String
  }
});
schema.index({name: 'text', 'profile.something': 'text'});

Eller hvis du vil inkludere alle strengfelter i indekset, skal du bruge '$**' jokertegn:

schema.index({'$**': 'text'});

Dette ville gøre dig i stand til at udføre en søgeforespørgsel med sideordnet tekst som:

MyModel.find({$text: {$search: searchString}})
       .skip(20)
       .limit(10)
       .exec(function(err, docs) { ... });

For flere detaljer, læs den fulde MongoDB Text Indexes-dokumentation.




  1. Sådan sender du ObjectId fra MongoDB i MVC.net

  2. Hvordan jeg skrev en Chart-Topping-app på en uge med Realm og SwiftUI

  3. MongoDB Datakatalog /data/db blev ikke fundet

  4. Sådan bruger du MongoDB Stitch i Android-apps