Frage

Ich glaube irgendwo gelesen, dass, wenn eine Ansicht angefordert wird, die „Karte“ nur über Dokumente ausführen, die sie angefordert wurden seit dem letzten Mal hinzugefügt wurden? Wie wird diese bestimmt? Ich dachte, ich etwas über eine Sequenznummer sah. Ist das etwas, das Sie bekommen können? Es ist nicht Teil des UUID auf dem _rev Feld Hinter ist es?

Jede Art und Weise eine ‚recalc‘ der gesamten Ansicht (über alle Datensätze) zu zwingen?

War es hilfreich?

Lösung

Der Abschnitt über Ansicht Indizes in der Technischer Überblick ein großer Führer zu diesem ist .

Die Ansicht Builder verwendet die Datenbank-Sequenz-ID, um zu bestimmen, ob die Ansichtsgruppe mit der Datenbank voll up-to-date ist. Wenn nicht, prüft die Ansicht Motor die alle Datenbankdokumente (in gepackten Reihenfolge) seit der letzten Aktualisierung geändert. Die Dokumente werden in der Reihenfolge, wie sie in der Plattendatei auftreten lesen, die Verringerung der Häufigkeit und Kosten von Plattenkopf sucht.
Als Dokumente geprüft werden, ihre vorherigen Zeilenwerte werden aus dem Ansichtsindizes entfernt, wenn sie vorhanden ist. Wenn das Dokument durch eine Anzeigefunktion ausgewählt wird, werden die Funktionsergebnisse in die Ansicht als eine neue Zeile eingefügt.

CouchDB zuerst überprüft, ob alles hat sich verändert in der gesamten Datenbank unter Verwendung einer Sequenz-ID (das aktualisiert wird, wenn eine Änderung in der Datenbank zu jedem Dokument gibt es) zu sehen. Wenn sich etwas geändert hat es geht für diese Dokumente suchen und führt die Kartenfunktion auf sie.

Es sollte wirklich keine Notwendigkeit, Ihre Ansichten neu zu erstellen / regenerieren, da es schrittweise, wie Sie Ihre Dokumente ändern wird aktualisiert (beachten Sie, dass es nicht die Ansicht aktualisieren, bis Sie es verwenden, obwohl). Mit dem Hut eine Art und Weise (und ich bin sicher, dass es eine bessere Art und Weise) wäre, das Design-Dokument zu entfernen, die Ansicht zu beschreiben und wieder einfügen da ein Designdokument nicht anders (fast) von einem normalen Dokument ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top