Con solo unas pocas líneas de código puedes empezar a usar Couchbase con Node.js para crear tu próxima aplicación de JavaScript.
Este hola mundo el tutorial te guía a través de los primeros pasos básicos de uso el SDK de Node.js con el últimas características de Couchbase 7.0. Se asume que tienes al menos cierta familiaridad tanto con JavaScript como Bases de datos NoSQL – pero no se requiere experiencia.
Instalar y preparar Couchbase
Antes de sumergirte en el desarrollo de una aplicación, comienza por configurar la última versión de Couchbase Server o regístrese gratis para obtener una cuenta de Couchbase Cloud.
Después de la instalación, configure el Bucket `travel-sample`, el cual crea un conjunto de documentos de muestra con vuelos, hoteles, puntos de referencia y más. Encontrará estos datos útiles para probar una variedad de diferentes tipos de aplicaciones.
Configurar una aplicación básica de Node.js
Por el resto de esta publicación, asumiré que ya tienes Node.js instalado junto con tus herramientas de edición de código favoritas. (Los desarrolladores primerizos deben buscar algunos tutoriales básicos para obtener un entorno de trabajo).
Su primer paso es crear una carpeta de proyecto e inicializar la plantilla de paquete con npm init -y, como se muestra a continuación:
tyler@local:~/src/cb-node$ npm init -y
Wrote to /home/tyler/src/cb-node/package.json:
{
"name": "cb-node",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
Agregar la dependencia del módulo de Node.js para Couchbase
A continuación, agregue el módulo de Node.js de Couchbase a las dependencias en package.json al ejecutar el npm install comando con el --guardar opción, así:
$ npm install couchbase --save
> couchbase@3.2.0 install /home/tyler/src/cb-node/node_modules/couchbase
> prebuild-install || node-gyp rebuild
...
npm WARN cb-node@1.0.0 Sin descripción
npm WARN cb-node@1.0.0 Sin campo de repositorio.
+ couchbase@3.2.0
El package.json el archivo ahora tiene la sección de dependencias:
"dependencies": {
"couchbase": "^3.2.0"
}
Conectarse a un clúster de Couchbase
Para probar que todos los módulos estén instalados correctamente –y que puedas conectarte al clúster–, necesitas saber el nombre del bucket para conectarte y agregar un usuario que pueda acceder al bucket de Couchbase.
var couchbase = require("couchbase");
Para el uso más simple, envuelve el resto del ejemplo en una función connect:
couchbase.connect(
'couchbase://127.0.0.1',
{
username: 'Administrator',
password: 'Administrator'
},
...)
También debes seleccionar el espacio de claves, es decir, Ámbito o Colección(es) – usted desea acceder, si corresponde. En este caso de prueba inicial, usaremos una Colección predeterminada que ignora por completo los Ámbitos y las Colecciones:
...
(err, cluster) => {
var bucket = cluster.bucket('travel-sample')
var coll = bucket.defaultCollection()
...
Obtener un documento JSON
Hay miles de muestras JSON documentos en el travel-sample Balde.
Para solicitar un documento utilizando operaciones básicas de clave-valor, utilice el conseguir función y proporcione un ID de documento. Puede usar la consola web para buscar un documento de hotel determinado para obtener el ID, como se muestra a continuación.
Capture la respuesta y el error, luego imprima en la consola para ver si es exitoso.
coll.get('hotel_5336', (err, res) => {
if (err) throw err
console.log(res.value)
Si llegó hasta aquí y es su primera aplicación de Node.js, ¡felicitaciones! Ahora sabe cómo obtener un documento de Couchbase con la sintaxis más sencilla. El código completo de ejemplo se muestra a continuación:
var couchbase = require('couchbase')
couchbase.connect(
'couchbase://127.0.0.1',
{
username: 'Administrator',
password: 'Administrator'
},
(err, cluster) => {
var bucket = cluster.bucket('travel-sample')
var coll = bucket.defaultCollection()
coll.get('hotel_5336', (err, res) => {
if (err) throw err
console.log(res.value)
})
}
)
Tenga en cuenta que este es un ejemplo básico que incluye código bloqueante. En un artículo futuro, abordaré un ejemplo que muestra ejemplos asíncronos no bloqueantes en su lugar.
Crear o actualizar un documento usando JavaScript
Para crear un nuevo documento puedes usar el actualizar o insertar función. Se llama actualizar o insertar porque actúa como un insert (para documentos nuevos) o si ya hay un documento con el mismo ID, simplemente lo actualizará.
Asegúrese de que el usuario que especifique tenga los privilegios de escritura adecuados antes de intentar un `upsert`. Los ejemplos a continuación asumen acceso administrativo completo al Bucket para mantener las cosas simples.
En este punto, copia tu script en un nuevo archivo para probar el actualizar o insertar funcionalidad independiente de la conseguir función.
Actualizar o insertar requiere un ID de documento y un objeto JSON con los datos del documento. Proporcionas el ID al enviarlo a la base de datos. Crea la variable para almacenar los datos JSON y agrégale algunos elementos.
newdoc = {
type: "hotel",
id: 2,
name: "Le Grande",
city: "París, Francia"
}
A continuación, llame al actualizar o insertar función junto con el nuevo ID de documento.
coll.upsert('hotel_2', newdoc, (err, res) => {
console.log(res)
})
Imprimir la salida para mostrar que una mutación o transacción se ha completado. El CAS el valor se utiliza en otros contextos para comparar la antigüedad de los datos con el fin de rastrear o bloquear diferentes versiones de los datos.
La ejecución del script produce el siguiente resumen de transacción:
Aplicación app.js del nodo $
MutationResult {
cas: CbCas<1628915917601505280>,
token: CbMutationToken<4:251812459673841:85:travel-sample> }
Ahora puedes volver a tu script `get` original e insertar el nuevo ID de documento para comprobar que ya se puede recuperar.
Aquí está el script completo para hacer el `upsert` simple en un script de Node.js independiente.
var couchbase = require('couchbase')
couchbase.connect(
'couchbase://127.0.0.1',
{
username: 'Administrator',
password: 'Administrator'
},
(err, cluster) => {
var bucket = cluster.bucket('travel-sample')
var coll = bucket.defaultCollection()
newdoc = {
type: "hotel",
id: 2,
name: "Le Grande",
city: "Paris, France"
}
coll.upsert('hotel_2', newdoc, (err, res) => {
console.log("Hotel added")
console.log(res)
})
}
)
Conclusión
Gracias por seguir estos ejemplos básicos de JavaScript con Couchbase. Espero que esto te ayude a comenzar a construir una aplicación NoSQL usando Node.js.
Para obtener más ejemplos relacionados con el SDK consulta la documentación del SDK de Node.js. En publicaciones futuras, exploraremos el uso de las funciones de forma asincrónica y profundizaremos en otras funciones de Couchbase como query y search.
Ponte al día con el resto de la serie de tutoriales de Node.js + Couchbase:
- Cómo empezar con el SDK de Node.js para Couchbase
- Cómo crear llamadas Get/Upsert asíncronas con Node.js y Couchbase
- Desarrollar una aplicación basada en REST con Node.js, Express y Couchbase
- Cómo consultar datos JSON usando N1QL para Node.js y Couchbase
- Cómo agregar funcionalidad de búsqueda de texto completo a tu aplicación de JavaScript
¿Quieres probar estos ejemplos por ti mismo?
Regístrese en Couchbase Cloud hoy mismo
Autor
Una respuesta
-
[...] la publicación continúa mi serie introductoria sobre el uso de Node.js con Couchbase (incluyendo la publicación de la semana pasada sobre async [...]


Deja un comentario
Lo siento, debes estar conectado para publicar un comentario.