En unas pocas líneas de código puedes empezar a usar Couchbase con Node.js para construir tu próxima aplicación JavaScript.
Este hola mundo le guiará a través de los primeros pasos básicos para utilizar el SDK de Node.js con el últimas funciones de Couchbase 7.0. Se supone que usted tiene al menos cierta familiaridad con JavaScript y Bases de datos NoSQL - pero no se requiere experiencia.
Instalar y preparar Couchbase
Antes de sumergirte en el desarrollo de una aplicación, empieza por configurar la última versión de Couchbase Server o registre gratuitamente una cuenta Couchbase Cloud.
Tras la instalación, configure el viaje-muestra
Bucket que crea un conjunto de documentos de muestra con vuelos, hoteles, puntos de referencia y mucho más. Estos datos te resultarán muy útiles para probar distintos tipos de aplicaciones.
Configurar una aplicación Node.js básica
Para el resto de este post, asumiré que ya tienes Node.js instalado junto con tus herramientas de edición de código favoritas. (Los desarrolladores novatos deberían buscar algunos tutoriales básicos para conseguir un entorno de trabajo).
El primer paso es crear una carpeta de proyecto e inicializar la plantilla de paquetes con npm init -y
como se muestra a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
tyler@local:~/src/cb-nodo$ npm init -y Escribió a /Inicio/tyler/src/cb-nodo/paquete.json: { "nombre": "nodo-cb", "version": "1.0.0", "descripción": "", "principal": "index.js", "scripts": { "test": "echo "Error: no se ha especificado ninguna prueba" && exit 1" }, "palabras clave": [], "autor": "", "licencia": "ISC" } |
Añadir la dependencia del módulo Node.js de Couchbase
A continuación, añada el módulo Couchbase Node.js a las dependencias en paquete.json
ejecutando el programa npm instalar
con el comando --guardar
así:
1 2 3 4 5 6 7 8 9 10 |
$ npm instale couchbase --guardar > couchbase@3.2.0 instale /Inicio/tyler/src/cb-nodo/node_modules/couchbase > prebuild-instale || nodo-gyp reconstruir ... npm AVISO cb-nodo@1.0.0 No descripción npm AVISO cb-nodo@1.0.0 No repositorio campo. + couchbase@3.2.0 |
En paquete.json
tiene ahora la sección de dependencias:
1 2 3 |
"dependencias": { "couchbase": "^3.2.0" } |
Conectarse a un clúster Couchbase
Para comprobar que todos los módulos están instalados correctamente - y que puedes conectarte al cluster - necesitas saber el nombre del Bucket para poder conectarte y añadir un usuario que pueda acceder al Bucket de Couchbase.
1 |
var couchbase = requiere("couchbase"); |
Para un uso más sencillo, envuelva el resto del ejemplo en una función connect:
1 2 3 4 5 6 7 |
couchbase.conecte( couchbase://127.0.0.1, { nombre de usuario: Administrador, contraseña: Administrador }, ...) |
También tienes que seleccionar el espacio clave, es decir, Ámbito o colección(es) - a la que desea acceder, si procede. En este caso de prueba inicial, utilizaremos una colección predeterminada que ignora por completo los ámbitos y las colecciones:
1 2 3 4 5 |
... (err, grupo) => { var cubo = grupo.cubo(muestra-viaje) var coll = cubo.defaultCollection() ... |
Obtener un documento JSON
Hay miles de muestras JSON documentos en el viaje-muestra
Cubo.
Para solicitar un documento mediante operaciones clave-valor básicas, utilice la función consiga
y proporcionar un ID de documento. Puede utilizar la consola web para buscar un documento de hotel determinado y obtener el ID, como se muestra a continuación.
Captura la respuesta y el error, luego imprime en consola para ver si tiene éxito.
1 2 3 |
coll.consiga(hotel_5336, (err, res) => { si (err) tirar err consola.registro(res.valor) |
Si has llegado hasta aquí y es tu primera aplicación Node.js, ¡enhorabuena! Ahora ya sabes cómo obtener un documento de Couchbase con la sintaxis más sencilla. El ejemplo de código completo está más abajo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var couchbase = requiere(couchbase) couchbase.conecte( couchbase://127.0.0.1, { nombre de usuario: Administrador, contraseña: Administrador }, (err, grupo) => { var cubo = grupo.cubo(muestra-viaje) var coll = cubo.defaultCollection() coll.consiga(hotel_5336, (err, res) => { si (err) tirar err consola.registro(res.valor) }) } ) |
Ten en cuenta que este es un ejemplo básico que incluye código bloqueante. En un futuro artículo, voy a cubrir un ejemplo que muestra ejemplos asíncronos no de bloqueo en su lugar.
Crear o volver a insertar un documento con JavaScript
Para crear un nuevo documento puede utilizar el botón upsert
función. Se llama upsert
porque actúa como una inserción (para nuevos documentos) o si ya existe un documento con el mismo ID, simplemente lo actualizará.
Asegúrese de que el usuario que especifica tiene los privilegios de escritura adecuados antes de intentar un upsert
. Los ejemplos que siguen suponen un acceso administrativo completo a Bucket para simplificar las cosas.
En este punto, copie su script en un nuevo archivo para probar el upsert
funcionalidad independiente del consiga
función.
Upsert
requiere un ID de documento y un objeto JSON con los datos del documento. El ID se proporciona al enviarlo a la base de datos. Crea la variable que contendrá los datos JSON y añádele algunos elementos.
1 2 3 4 5 6 |
newdoc = { tipo: "hotel", id: 2, nombre: "Le Grande", ciudad: "París, Francia" } |
A continuación, llame al upsert
junto con el nuevo ID del documento.
1 2 3 |
coll.upsert(hotel_2, newdoc, (err, res) => { consola.registro(res) }) |
Imprime la salida para mostrar que se ha completado una mutación/transacción. La dirección CAS
se utiliza en otros contextos para comparar la cosecha de los datos para el seguimiento/bloqueo de diferentes versiones de datos.
La ejecución del script produce el siguiente resumen de transacciones:
1 2 3 4 5 |
$ nodo aplicación.js MutationResult { cas: CbCas<1628915917601505280>, ficha: CbMutationToken<4:251812459673841:85:viaje-muestra> } |
Ahora puedes volver a tu consiga
e introduzca el nuevo ID del documento para comprobar que ahora se puede recuperar.
Aquí está el script completo para hacer el simple upsert
en un script Node.js independiente.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
var couchbase = requiere(couchbase) couchbase.conecte( couchbase://127.0.0.1, { nombre de usuario: Administrador, contraseña: Administrador }, (err, grupo) => { var cubo = grupo.cubo(muestra-viaje) var coll = cubo.defaultCollection() newdoc = { tipo: "hotel", id: 2, nombre: "Le Grande", ciudad: "París, Francia" } coll.upsert(hotel_2, newdoc, (err, res) => { consola.registro("Hotel añadido") consola.registro(res) }) } ) |
Conclusión
Gracias por seguir estos ejemplos básicos de JavaScript con Couchbase. Espero que esto te ayude a empezar a construir una aplicación NoSQL usando Node.js.
Para más ejemplos relacionados con el SDK consulte la documentación del SDK de Node.js. En futuros posts, exploraremos el uso de las funciones de forma asíncrona y profundizaremos en otras funciones de Couchbase como la consulta y la búsqueda.
Póngase al día con el resto de la serie Node.js + Couchbase how-to:
-
- Cómo empezar con el SDK de Node.js para Couchbase
- Cómo crear llamadas asíncronas Get/Upsert con Node.js y Couchbase
- Construir una aplicación basada en REST con Node.js, Express y Couchbase
- Cómo consultar datos JSON con N1QL para Node.js y Couchbase
- Cómo añadir la función de búsqueda de texto completo a su aplicación JavaScript
Regístrese hoy en Couchbase Cloud
[...] post continúa mi serie introductoria sobre el uso de Node.js con Couchbase (incluyendo el post de la semana pasada sobre async [...]