Ich habe eine Sammlung, für die ich keinen Index benötige. Ich speichere nur den Suchbegriff und das Datum des Benutzers, so dass meine Sammlung wirklich einfach ist.Kann ich den Standard MongoDB Index löschen?
Wenn ich ein UserSearch-Objekt speichern, haben meine Sammlung _id und Standardindex darauf.
Aus meinem Wissen werden diese "_id" -Felder in Ram indexiert, so dass ich nicht Ram-Speicher für die Sammlung ausgeben möchte, die ich gerade speichere und alle 12 Stunden etwas bereche.
Ich versuche, es zu löschen, aber ich kann nicht.
var indexes = UserSearch(true).GetIndexes();
//delete UserSearch Default Index
if(UserSearch(true).IndexExistsByName("_id_"))
{
UserSearch(true).DropIndexByName("_id_");
}
Jeder Vorschlag/Lösung?
Eigentlich brauchen Sie _id nicht für Replikation oder Sharding. Sie können einen beliebigen anderen Index oder zusammengesetzten Index festlegen. –
@AdrianLopez Bitte beachten Sie die Warnung: 'WICHTIG Setzen Sie für Replikatsätze autoIndexId nicht auf" false ". Https://docs.mongodb.com/manual/reference/method/db.createCollection/#db.createCollection –
Ich adressierte diesen Punkt in meiner Antwort @KevinJohnson – styvane