Domino 9 und frühere Versionen > ND6: Entwicklung
Walk the View
bikerboy:
Hallo zusammen,
so böse Geschichte, muss redundante Daten aus einer DB löschen. Problem ist das die DB knapp 90.000 Dokumente umfasst. Sprenge mir jedes Array wenn ich versuche den passenden Schlüssel reinzuschreiben.
Also bin ich darauf zu kommen ein Wlak the View zu vollziehen, Problem ist ja wenn ich Dokumente rauslösche dass er durcheinander kommt, wenn ich zum Beispiel das Dokument lösche auf dem ich stehe.
Wie sieht es aus wenn ich die Spalte mit meinem Schlüssel kategorisiert anzeigen lassen und die 2 Spalte mit sortiere mit dem Wert der sehr wahrscheinlich der richtige ist ?
Hoffe die Beschreibung ist nicht all zu wirr.
m3:
NotesDocumentCollection?
pete_bla:
Hi,
Die notesDocumentCollection hat ja den vorteil von
.removeall
Der ist bei vielen doch schneller als ein enzelnes löschen.
wenn Du einzelne löscht, und "die verschwinden Dir" dann lade doch einfach das nächste schon vor dem löschen
ungefähr so:
--- Code: ---while not doc is nothing
set docnext = view.getnextdocument(doc)
call doc.remove(true)
set doc = docnext
wend
--- Ende Code ---
Viel Erfolg, Pete(r)
bikerboy:
@m3 :
Ich sprenge doch bestimmt eine verdammte Grenze wenn ich 90.000 Dokumente einfüge , oder?
Aussderm lösche ich ja zwischendurch Dokumente, wenn ich auf nen leeren Slot springe, habe ich keinen Parameter mehr für getnextDocument. Und wenn ich mit getnthDocument arbeite springe ich am Ende aus der Kollektion, weil ja die Kollektion immer kleiner wird.
@pete_bla :
Die Idee ist gut, muss aber erst gucken inwiefern ich sie verwurste.
koehlerbv:
Zu Deinem eigentlichen Problem kann ich nichts sagen - ich kenne einfach nicht genügend Deiner Randbedingungen.
Aber: Eine DocumentCollection kannst Du nicht sprengen.
Und - ganz wichtig: Mit GetNthDocument arbeitet man nicht! Das geht bei 100 Dokumenten gut, aber schon ab 1.000 Dokumenten kannst Du jedem einzeln die Hand schütteln, und ab dem 10.000sten (oder so) wirst Du sterben, wenn Du bei jedem Dokument einen Kafee trinken gehst.
Arbeite mit GetNextDocument. Gleiches gilt auch für Collections.
(Hintergrund: Der Pointer zum Dokument muss jedes Mal neu von Anfang an gesetzt werden.)
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln