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

mongoose index findes allerede med forskellige muligheder

tjek på hvilket felt du har dit tekstindeks defineret. Lige nu tillader mongodb kun ét tekstindeks pr. samling. så hvis du har defineret et tekstindeks på desc kolonne og prøver at bruge det indeks på en anden kolonne, er du bundet til at få denne fejl.

kan du prøve at forespørge på dit indeks og se på hvilken kolonne du har oprettet det. For at få indekser kan du gøre

db.collection.getIndexes()
 

og det vil returnere noget som dette

[ { "v" : 1, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "some.ns" }, { "v" : 1, "key" : { "_fts" : "text", "_ftsx" : 1 }, "name" : "desc_text", "ns" : "some.ns", "weights" : { "title" : 1 }, "default_language" : "english", "language_override" : "language", "textIndexVersion" : 2 } ]

nu, hvis du ønsker at rækkevidde i andre kolonner også for at bruge dette indeks, skal du blot droppe dette indeks

db.collection.dropIndex('desc_text');
 

og derefter genskabe det ved at inkludere alle kolonner, du ønsker skal dækkes af tekstindeks,

db.collection.createIndex({
    title:'text;,
    body: 'text;,
    desc: 'text',
    ...... and so on
});
 



  1. Kombinerer Spring-Data til MongoDB og ElasticSearch

  2. Forespørgsel MongoDb-aggregat slutter sig til to samlinger

  3. hvordan kan jeg finde en række værdier i en $match-sammenlægning og gruppere resultatet?

  4. Opbygning af en skalerbar proces ved hjælp af NiFi, Kafka og HBase på CDP