sql >> Databáze >  >> NoSQL >> MongoDB

mongoose index již existuje s různými možnostmi

zkontrolujte, ve kterém poli máte definovaný textový index. Právě nyní mongodb umožňuje pouze jeden textový index na kolekci. takže pokud jste definovali textový index ve sloupci desc a pokusíte se tento index použít v nějakém jiném sloupci, musíte dostat tuto chybu.

můžete zkusit dotaz na svůj index a zjistit, ve kterém sloupci jste jej vytvořili. Chcete-li získat indexy, můžete provést

db.collection.getIndexes()

a vrátí něco takového

[
    {
        "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
    }
]

Pokud nyní chcete použít tento index i v jiných sloupcích, jednoduše tento index vypusťte

db.collection.dropIndex('desc_text');

a poté jej znovu vytvořte zahrnutím všech sloupců, které chcete pokrýt textovým indexem,

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



  1. Jak funguje SignalR.Redis pod kapotou?

  2. agregační rámcová skupina mongodb + projekt

  3. mongo $slice dotaz reverzní index mimo rozsah

  4. Chyba analýzy:chyba syntaxe, neočekávaný '}' v C:\xampp\htdocs\lib\autors.php na řádku 8