Angenommen, ich habe ein Design-Dokument mit Ansichten, Update-Funktionen usw. Nun nehme ich an, ich aktualisiere das Design-Dokument, indem ich einen Validierungs-Handler hinzufüge. Wird dies dazu führen, dass die in diesem Entwurfsdokument definierten Ansichten neu erstellt werden, auch wenn ich die Ansichtsfunktion überhaupt nicht ändere.Führt das Aktualisieren eines Designdokuments in Couchdb zum Neuaufbau der Ansichten?
Antwort
Nein, die Ansichten sind nicht regeneriert solange die Views-Eigenschaft selbst nicht geändert wird. CouchDB berechnet einen Hashwert über die views
-Eigenschaft des Entwurfsdokuments und verwendet diesen Hash als Dateinamen der Ansicht.
Wir verwenden diese Funktion häufig in der Produktion: Wir aktualisieren regelmäßig unsere Konstruktionsdokumente, und solange sich die Ansichten nicht ändern, werden die Ansichten nicht neu generiert.
BTW: Dies ist auch der Grund, warum Sie CommonJS-Module und require()
in Ansichten verwenden können, aber Sie sind auf Pfade innerhalb views
beschränkt. Sie können beispielsweise Folgendes tun:
{
...
"views": {
"lib": {
"underscore": "... (underscore.js here)"
},
"my_view": {
"map": "function (doc) { var _ = require('views/lib/underscore'); emit(doc._id, _.pick(doc, 'name', 'address'); }"
}
}
}
Aber man kann nicht eine require
wie folgt verwenden: var _ = require('underscore');
hoffe, das hilft!
Ja. Wie in View API ("Altering/Changing Views" section) in Wiki dokumentiert:
Um eine Ansicht oder mehrere Ansicht zu ändern, nur das Design-Dokument ändern (siehe HttpDocumentApi) sie in gespeichert sind, und sie als neue Überarbeitung speichern. Dies führt dazu, dass alle Ansichten in diesem Entwurfsdokument beim nächsten Zugriff neu erstellt werden, falls der Ansichtscode geändert wurde.
Beachten Sie, dass sich die Dokumentation auf die Aktualisierung des Entwurfsdokuments und nicht auf seine Felder bezieht.
- 1. Bereichstasten in CouchDB Ansichten
- 2. CouchDB: Filterfunktionen in Ansichten
- 3. Mehrbereichstasten in couchdb Ansichten
- 4. Wildcards in Ansichten mit CouchDB?
- 5. Aktualisieren eines CouchDB-Dokuments in Nano
- 6. CouchDB Ansichten (Karte/verkleinern)
- 7. CouchDB Ansichten Fehler
- 8. Aktualisieren von PDB-Dateien ohne Neuaufbau
- 9. Emit Tuples von Erlang Ansichten in CouchDB
- 10. Sortiert CouchDB wirklich Ansichten auf mehrere Server?
- 11. So aktualisieren Sie den Datensatz/das Feld eines Dokuments in couchdb
- 12. Aktualisieren von MySQL Ansichten?
- 13. Ansichten auf einem SQLiteChange aktualisieren
- 14. Standardmethode zum Aktualisieren eines Abonnements in Braintree?
- 15. MVC-Formular zum Aktualisieren eines Bildes
- 16. Das Speichern von GZIP-JSON führt zum Zurücksetzen der Verbindung
- 17. Das Image eines NSStatusItems aktualisieren
- 18. Neuaufbau von Arrays
- 19. Nur einige Attribute eines Dokuments in couchdb holen
- 20. Wie bearbeiten Sie Ihre Ansichten in CouchDB Futon?
- 21. Ändern eines Dokumentabschnitts mit CouchDB PUT
- 22. Das Aktualisieren eines untergeordneten Objekts in einer Speicherkaskade führt zu ConstraintViolationException mithilfe des Quelldatenrepositorys.
- 23. Das Ausführen eines GET zum Öffnen der OAuth-Umleitungs-URL führt zu "Anfrage nicht gültig"
- 24. Ist das HTTP-Verb PUT nicht zum Aktualisieren und zum Erstellen von Inhalten verwendet?
- 25. CouchDB in Produktion
- 26. Die Verwendung von MSBuild zum Aktualisieren der FILEVERSION in einer C++ - Ressourcendatei führt zu Kompilierungsfehlern
- 27. Das Rendern eines CALayers an einen Bildkontext führt zur Schwärzung
- 28. Rails allgemeine Methode zum Aktualisieren eines Datenbankfelds
- 29. Gerüstete Controller und Ansichten mit Modelländerungen aktualisieren
- 30. Das Navigieren in einem UINavigationController führt zum Absturz