2017-06-20 2 views
-1

Ich habe eine Datenbank namens "development-records" mit einer MapReduce-Ansicht mit einer "dbcopy" -Deklaration, die eine Ansicht in einer neuen Datenbank namens "Development-Chained" erstellt.dbcopy-Datenbank aktualisieren, wenn MapReduce übergeordnete Änderungen anzeigen

Wenn wir die Ansicht in "development-records" aktualisieren, führen wir die üblichen Schritte aus: 1. Erstellen Sie eine Kopie des Entwurfsdokuments, das wir ändern möchten, indem Sie beispielsweise _OLD zu seinem Namen hinzufügen : _design/fetch_OLD. 2. Fügen Sie das neue oder "eingehende" Designdokument in die Datenbank ein, indem Sie einen Namen mit dem Suffix _NEW: _design/fetch_NEW verwenden. 3. Fragen Sie die Ansicht fetch_NEW ab, um sicherzustellen, dass sie zu erstellen beginnt. 4. Überprüfen Sie den Endpunkt _active_tasks und warten Sie, bis der Index fertiggestellt ist. 5. Legen Sie eine Kopie des neuen Entwurfsdokuments in _design/fetch. 6. Löschen Sie das Designdokument _design/fetch_NEW. 7. Löschen Sie das Designdokument _design/fetch_OLD.

Das Problem ist, dass die Dokumente, die in der dbcopy-Datenbank "Development-Chained" angegeben werden, scheinbar nicht aktualisiert werden - alle alten Datensätze bleiben erhalten. Gibt es eine Möglichkeit, die dbcopy-Datenbank auszulösen, um MapReduce erneut auszuführen?

Antwort

0

Leider, nach der official Cloudant documentation, "Die dbcopy-Funktion kann unter bestimmten Umständen Probleme verursachen." Es wird davon abgeraten, von dieser Funktion Gebrauch zu machen, und sie wurde ansonsten aus der Dokumentation entfernt. Ich hoffe zu wissen, dass das ein wenig hilft. Die neue Dokumentation ist schwer zu finden.

Verwandte Themen