tutorial nodejs couchdb

nodejs - couchdb tutorial



CouchDB un ejemplo del mundo real (3)

Esta noche, en mi tecnología diaria de Google, encontré a couchDB, después de ver un montón de presentaciones sobre cómo se desempeñaba diez o cien veces mejor que cualquier RDBM, cómo nos salvaría de los lenguajes SQL, tablas, claves principales y mucho más. Me decidí a probarlo yo mismo. El único problema parece que soy incapaz de averiguar cómo funciona.

Como para empezar, me gustaría codificar un administrador de contactos web usando couchDB. El proyecto permitiría al usuario hacer cosas básicas como

  • Crear / Editar / Eliminar contactos
  • ver una lista de sus contactos ordenados
  • buscarlos en varios criterios

Entonces, ¿cómo empiezo?

Aquí algunos de mis pensamientos.

  • crear una base de datos por usuario como julio, Ann
  • en esos DB, agregue algún documento con tipo de contacto, el documento se vería así en primer lugar, vea el código 1
  • crear / editar / eliminar es sencillo, solo tiene que hacer PUT, POST, DELETE en la buena base de datos
  • la búsqueda sería manejada por couchdb-lucene como sugirió dnolen

Ahora aquí viene la parte difícil, realmente no entiendo todo el concepto de mapa / reducción y cómo puedo usar eso para hacer los trabajos que solía hacer con SQL. También con vistas, ¿cómo manejar la paginación, también agrupando.

Me gustaría construir una pantalla con un conjunto de enlaces de paginación algo como esto

John, Doe Johny, Hallyday Jon, Skeet A B C D E F **J** etc .... <-- those are link to see persons with that first name

¿Qué vista debería crear para lograr eso? Si puede proporcionar muestras, sería maravilloso.

Documento de contacto.

{ type: ''contact'', firstname: ''firstname'', lastname: ''lastname'', email: [''home'': ''[email protected]'', ''work'': ''[email protected]''], phone: [''home'': ''+81 00 0000 0000''], address: [] ... some other fields maybe ... }


El próximo libro de O''Reilly es gratis para leer en línea: http://books.couchdb.org/relax/

Solo instale y juegue: puede hacer solicitudes http directas usando curl en la línea de comandos, o usar la interfaz web integrada llamada futón.

Almacenar y recuperar datos es realmente sencillo, la parte más difícil es pensar en términos de mapa / reducir vistas en lugar de consultas SQL.


IBM tiene un excelente tutorial , que utiliza curl para leer / escribir a través de la interfaz REST .


Su aplicación es bastante fácil de hacer con CouchDB. Tendrías una base de datos por usuario. Los contactos son simplemente documentos en la base de datos de un usuario en particular. CRUD solo está hablando con la base de datos usando HTTP. Podría crear vistas que emitan claves (apellido, nombre) para permitir la clasificación.

Para una búsqueda poderosa recomendaría couchdb-lucene.