MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDb-Hintergrundindizierung und eindeutiger Index

Ich glaube, das ist der relevanteste Auszug aus der MongoDB-Dokumentation :

Das bedeutet also, dass der Client, auf dem Sie den Befehl zum Erstellen des Index ausgegeben haben, blockiert bleibt, bis der Index vollständig erstellt ist. Wenn Sie von einem anderen Client aus so etwas wie das Hinzufügen eines doppelten Dokuments tun, während der Index erstellt wird, wird das Dokument ohne Fehler eingefügt, aber schließlich wird Ihr erster Client auf einen Fehler stoßen, aufgrund dessen er den Index nicht abschließen konnte es gibt einen doppelten Schlüssel für den eindeutigen Index.

Nun bin ich tatsächlich hier gelandet, als ich versuchte zu verstehen, was der index(..., {background: true}) von MongoID ist Option tut dies, weil es zu implizieren scheint, dass jeder Schreibvorgang den Indizierungsteil des Schreibvorgangs im Hintergrund ausführen kann, aber ich verstehe jetzt, dass diese Option nur für die anfängliche Erstellung des Indexes gilt. Dies wird in der Einführung in die Dokumentation für background Option für die createIndex-Methode von MongoDB (was technisch nicht dasselbe ist wie der background von MongoID Option, aber es verdeutlicht das Konzept der Funktion, die sich auf diese Option bezieht):