sql >> Database >  >> NoSQL >> MongoDB

mongodb tekst zoeken met meerdere velden

U moet een tekstindex maken voor de velden waarin u wilt zoeken:

db.deals.ensureIndex({ name: "text", description : "text", category : "text" });

Uit de documentatie van de $text operator:

$text voert een tekstzoekopdracht uit op de inhoud van de velden die zijn geïndexeerd met een tekstindex.

De index die u voor uw drie velden hebt gemaakt, is een samengestelde index, geen tekstindex. De tekstindex ziet er als volgt uit:

{
    "v" : 1,
    "key" : {
        "_fts" : "text",
        "_ftsx" : 1
    },
    "name" : "name_text_description_text_category_text",
    "ns" : "test.deals",
    "weights" : {
        "category" : 1,
        "description" : 1,
        "name" : 1
    },
    "default_language" : "english",
    "language_override" : "language",
    "textIndexVersion" : 2
}



  1. Toegang opnieuw verkrijgen vanuit MS Excel?

  2. Aangepaste foutmeldingen met Mongoose

  3. MongoDB - Ontspan array met behulp van aggregatie en verwijder duplicaten

  4. hibernate tweede niveau cache met Redis - zal het de prestaties verbeteren?