Si eres un desarrollador de JavaScript que transición a usar Node.js, querrás aprovechar las funciones async.

Eso es porque las llamadas asíncronas a la API no bloquean tu código y devuelven promesas. En este post, te mostraré cómo crear funciones asíncronas en Node.js que llamen al SDK de Couchbase.

Resumen rápido: Configuración de un proyecto Node.js con Couchbase

Este post continúa mi serie introductoria sobre usando Node.js con Couchbase.

Un existente Couchbase base de datos (con viaje-muestra Cubo activado) y Node.js para este tutorial, pero para más detalles ver el post de la semana pasada sobre cómo empezar con el SDK de Node.js para Couchbase.

Para ponerte al día, primero instalar el SDK de Couchbase Node.js utilizando el npm junto con el comando guardar para almacenar la dependencia en su paquete.json archivo de configuración. Esto es lo que parece:

Ahora estás listo para sumergirte en el siguiente paso.

Conectar a Couchbase con una función asíncrona

Conexión a Couchbase mediante JavaScript async requiere que importe la biblioteca además de otros tres componentes:

    • Nombre/dirección del servidor
    • Nombre de usuario/contraseña
    • El cubo al que conectarse

Envuélvalo todo con un async y crear la función grupo objeto.

Una vez proporcionada la información de conexión principal, seleccione el Bucket y cualquier Scope o Collection específicos (en este ejemplo he utilizado la Collection por defecto). El resultado Colección se utiliza para las siguientes llamadas a la base de datos.

Obtener un documento JSON

Ahora que ya tienes una función async configurada, vamos a aprender cómo puedes consiga a Documento JSON de Couchbase.

Para realizar una operación clave-valor básica, es necesario conocer el ID de un documento existente. Para este ejemplo, vamos a utilizar el ID de Chalets Marmotte Mountain Adventure en Francia: hotel_5336.

La base consiga que se muestra en entrada anterior del blog también - es:

Para hacerlo asíncrono, utilice el método await dentro de un async función. Llamaremos a esta función después con el ID de nuestro hotel. También es una buena costumbre empezar a capturar e imprimir cualquier error.

Llama a tu nueva función al final del script. Recuerde, todo el script debe estar dentro del archivo main() a la que se llama:

Luego prueba tu función async ejecutándola y viendo la salida para ese documento en particular:

Cómo insertar un documento JSON

A continuación, veremos cómo upsert un documento JSON utilizando su función async.

Utilizando tu script original, puedes añadir la posibilidad de crear un nuevo documento y luego solicitarlo de vuelta - para mostrar el viaje de ida y vuelta completo. Para guardar o añadir un documento en la base de datos, utilice la función upsert y pásale un objeto JSON.

Recuerda que puedes mantener la conexión y consiga y crear una nueva función para upsert.

En primer lugar, cree el nuevoHotel . Como se puede ver a continuación, lo configuramos para tomar la clave/ID y un objeto JSON.

A continuación, creamos el documento JSON que enviaremos a la base de datos Couchbase.

Llamaremos a la nueva entrada del hotel hotel_3 al llamar a la nueva función:

Si pones todo este código antes del getHotel puede ajustar el ID del documento para el consiga para comprobar que se ha guardado el nuevo hotel.

Aquí está el resultado de crear el documento y luego obtener el mismo de vuelta:

Ejemplo de código completo

Aquí está todo el código de ejemplo del post de hoy:

Conclusión

Enhorabuena por hacer un upsert y consiga ¡en Node.js! Ahora estás listo para construir una aplicación más complicada - que voy a cubrir en futuras entradas del blog.

Para obtener una guía para desarrolladores más detallada, consulte la página Documentación del SDK de Couchbase Node.js aquí.

Póngase al día con el resto de la serie Node.js + Couchbase how-to:

 

Arremánguese y pruébelo usted mismo:
Pruebe Couchbase Cloud hoy mismo

 

Autor

Publicado por Tyler Mitchell - Director de Marketing de Producto

Trabaja como Gerente Senior de Marketing de Producto en Couchbase, ayudando a llevar el conocimiento sobre los productos a la luz pública, mientras que también apoya a nuestros equipos de campo con contenido valioso. Su pasión personal es todo lo geoespacial, habiendo trabajado en GIS durante la mitad de su carrera. Ahora la IA y la búsqueda vectorial son lo primero en lo que piensa.

Dejar una respuesta