2011-09-26 14 views
12

Ho una pagina che memorizza i dati in CouchDB. La pagina accede al database direttamente tramite javascript, quindi non molta della logica è nascosta dal browser. Quando si crea un nuovo documento, esiste una logica che estrae elementi dei dati in campi separati in modo che possano essere cercati.CouchDB - codice trigger durante la creazione o l'aggiornamento del documento

È possibile eseguire questa logica sul server durante la creazione o l'aggiornamento dei documenti oppure sono bloccato durante l'esecuzione del database?

risposta

18

Hai un paio di opzioni.

Per prima cosa, vedere questa domanda su CouchDB update functions. Le funzioni di aggiornamento ricevono una richiesta dal browser e possono modificarle in qualsiasi modo prima di archiviarle in CouchDB. Ad esempio, alcune persone li usano per aggiungere automaticamente un timestamp. Vedi anche la pagina wiki su CouchDB document update handlers.

Un'altra opzione è ricevere CouchDB change notifications. In questo caso, un programma separato (il tuo browser o, ancora meglio, un programma standalone che esegui) può interrogare CouchDB per _changes. CouchDB notificherà questo programma dopo il il documento viene salvato. Successivamente, il programma può recuperare il documento e quindi memorizzare eventuali nuove revisioni necessarie.

Per me, sembra che dovresti provare prima la funzione _update.

Problemi correlati