Nota: questo è l'algoritmo generale, non è specifico di alcuna libreria dal momento che il metodo nano's insert()
non offre alcunché automatizzato per l'aggiornamento dei documenti.
Ottenere il documento, salvare la revisione corrente, applicare le modifiche e provare a inviare il documento con il numero di revisione salvato.
Assicurarsi di gestire le possibili risposte di conflitto 409 che si verificano quando un documento è stato alterato nel frattempo.
In tal caso, è necessario recuperare il documento, salvare il numero di revisione, riapplicare le modifiche e quindi provare a inviarlo di nuovo con la nuova revisione.
ecco l'algoritmo:
- documento Get
- Salvare il _rev
- Applica modifiche
- tenta di inviare il documento aggiornato con _rev salvato
- andare alla fase 1 in caso di a 409
Acquista il CouchDB HTTP Document API's PUT section e CouchDB nella pagina wiki Replication and Conflicts per maggiori informazioni al riguardo. Potresti anche trovare utile How To Update A Document With Nano (The CouchDB Client for Node.js).
fonte
2012-07-26 07:15:02
So che ho bisogno di revisione. La domanda è qual è la funzione con argomento "revisione" in nano. Risposta giusta ma su un'altra domanda. – DSblizzard
È la risposta giusta anche per la tua domanda. Basta leggere la documentazione [nano's Document API] (https://github.com/dscape/nano#document-functions). Esiste solo un metodo 'insert()' che significa che devi impostare la revisione corretta sul documento che vuoi inserire. –
Puoi mostrare il codice, per favore? – DSblizzard