Domino 9 und frühere Versionen > ND6: Entwicklung
Walk the View
flaite:
Benutz einfach die Idee von pete bla
Oder diese docLast Variante :-)
--- Code: ---set doc = vw.getFirstDocument
while not doc is nothing
set docLast = doc
set doc = view.getnextdocument(doc)
' code zum prüfen, ob docLast gelöscht werden kann, wenn ja dann löschen (nächste Zeile)
call docLast.remove(true)
wend
--- Ende Code ---
koehlerbv:
Ich befürchte, das "docLast" oder "docNext" lösen nicht Roberts Problem: Es sollen ja wohl Dubletten gelöscht werden. Und die können sich sonstwo in der View verstecken. Diese muss also dauernd reindexiert werden, und wo der Schuss nun gerade ein Loch hinterlassen hat, kann man ja nur aufwändig feststellen und merken.
Je mehr Dokumente während des Laufs nun gekillt werden, desto performancefressender würde auch bei einem inaktiven Index-AutoUpdate die nun erforderliche Prüfung, ob das gefundene (zu löschende oder zu bearbeitende Dokument) nun eine Leiche ist oder noch zappelt.
Wie schon oben gesagt: Hier kann man nur Empfehlungen geben, wenn man mehr über die Gesamtsituation und die Anforderungen weiss.
Bernhard
Thomas Schulte:
Alles in Listen reinschreiben und dann mit diesen arbeiten. Es könnte allerdings sein das du mit der Anzahl von Dokumenten zuverlässig einen RSOD erzeugst.
pete_bla:
Hi,
wenns nun wirklich eine "einmalige Killaktion" sein sollte,
würde ich mal auf das klassische
--- Code: ---collection = db.Search(Formel,Nothing,0)
--- Ende Code ---
verweisen,
da ja eine "Formel" dahinterliegt...
und dann
--- Code: ---collection.removeall()
--- Ende Code ---
Ich finde für sowas ist das db.Search() optimal!
Gruss, Pete(r)
m3:
Also bei mir hat er gerade 7 Sekunden gebraucht, um mit getNextDocument eine Collection mit 31.499 Dokumenten zu durchlaufen. :)
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln