2016-04-21 7 views
3

Um meine Datenbank zu bereinigen, führe ich ein Skript aus, das einige Dokumente löscht. Dieses Skript benötigt die Anweisung declareUpdate(), um Dokumente löschen zu können. Dies verursacht jedoch extreme Berechnungszeiten.
Zum Beispiel: das folgende endet nie mit declareUpdate() im Skript.declareUpdate verursacht Verzögerung

cts.remainder(fn.subsequence(fn.collection("deleteThis"), 1, 1)) 

Dies läuft in einer Sekunde ohne die declareUpdate(). Ist es möglich, alle Lese-/Schreibberechtigungen für alle Dokumente in cts.remainder zu prüfen?

Antwort

3

Nein, fn.collection erreicht alle Dokumente in dieser Sammlung, und im Aktualisierungsmodus werden uri read locks für alle verwendet. Sie sind besser dran mit cts.uris mit einer Sammlung Abfrage, und dann Batch-Löschen der Dokumente in Spawns ..

HTH!