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

Doppelte Dokumente auf _id (in Mongo)

Dies ist eigentlich kein Problem mit dem Perl-Treiber ... es hängt mit den Eigenschaften von Sharding zusammen. MongoDB ist nur in der Lage, die Eindeutigkeit zwischen den Dokumenten zu erzwingen, die sich zum Zeitpunkt der Erstellung auf einem einzelnen Shard befinden, sodass der Standardindex keine Eindeutigkeit erfordert.

In MongoDB:Sharding konfigurieren Dokumentation wird ausdrücklich erwähnt, dass:

  • Wenn Sie eine Sammlung fragmentieren, müssen Sie den Shard-Schlüssel angeben. Wenn die Sammlung Daten enthält, verlangt Mongo, dass im Voraus ein Index erstellt wird (das beschleunigt den Chunking-Prozess); Andernfalls wird automatisch ein Index für Sie erstellt.

  • Sie können die Option {unique:true} verwenden, um sicherzustellen, dass der zugrunde liegende Index Eindeutigkeit erzwingt, solange der eindeutige Index ein Präfix des Shard-Schlüssels ist.

  • Wenn die Option "eindeutig:wahr" nicht verwendet wird, muss der Shard-Schlüssel nicht eindeutig sein.