2011-09-26 17 views
12

Tengo una página que almacena datos en CouchDB. La página accede a la base de datos directamente a través de javascript, por lo que gran parte de la lógica no está oculta en el navegador. Al crear un documento nuevo, existe una lógica que extrae elementos de los datos en campos separados para que puedan buscarse.CouchDB - Código de activación al crear o actualizar el documento

¿Es posible hacer esta lógica en el servidor al crear o actualizar los documentos, o me quedo atascado haciéndolo antes de acceder a la base de datos?

Respuesta

18

Tienes un par de opciones.

Primero, vea esta pregunta acerca de CouchDB update functions. Las funciones de actualización reciben una solicitud del navegador y pueden modificarlas de cualquier manera antes de finalmente almacenarlas en CouchDB. Por ejemplo, algunas personas los usan para agregar automáticamente una marca de tiempo. También vea la página wiki en CouchDB document update handlers.

Otra opción es recibir CouchDB change notifications. En este caso, un programa separado (ya sea su propio navegador, o incluso mejor, un programa independiente que ejecute) puede consultar CouchDB para _changes. CouchDB notificará a este programa después de el documento se guarda. A continuación, el programa puede recuperar el documento y luego almacenar las revisiones nuevas que sean necesarias.

Para mí, parece que primero debe probar la función _update.

Cuestiones relacionadas