+52 55 4336 6356, +52 55 4336 6368 contacto@semantiq.com.mx

En este artículo llevaremos acabo la conexión NodeJS con la base de datos de MarkLogic y mencionaremos los pasos para poder consumir el API Rest y visualizar los documentos desde la terminal ejecutando un archivo js con node.

MarkLogic ya cuenta con una API para los desarrolladores de JavaScript. La API de Marklogic proporciona a los desarrolladores un conjunto de herramientas para crear aplicaciones Node.js que usan una base de datos MarkLogic. Esta construida sobre una API REST.

Para el ejemplo se utilizará una base de datos llamada autos que contendrá 5 documentos JSON. Si aún no sabes como crear bases de datos e insertar documentos a una base de datos puedes consultar nuestros artículos de MarkLogic.

Los siguientes pasos a seguir son un aporte de Sául Sandoval.

Instalación NodeJS

El primer paso será la instalación de Node.js con el siguiente comando (Linux CentOS)

curl -sL https://vpm.nodesource.com/setup_12.x | sudo bash -
sudo yum install nodejs

Iniciar un proyecto

Creamos una carpeta en Desktop con el nombre nodejs. Abrimos una terminal con la ubicación /home/cent/Desktop/nodejs e ingresamos el código:

npm init 

Posteriormente se realizará la configuración básica del proyecto como se muestra a continuación:

Instalar dependencias de MarkLogic

En la misma ruta /home/cent/Desktop/nodejs ingresamos el siguiente comando para instalar las dependencias.

npm install marklogic --save

Archivo conexion.js

const marklogic = require("marklogic");
const db = marklogic.createDatabaseClient({
 database: "autos", //Especificamos la base a la que nos conectaremos
 host: "localhost", //El host donde realizaremos la conexión
 port: 8000, //Por defecto, el puerto 8000 ejecuta las consultas del API
 user: "admin", //El usuario que se conectará, debe tener permisos de escritura
 password: "admin", //contraseña del usuario
 authType: "DIGEST",
});
const qb = marklogic.queryBuilder; //cargamos el querybuilder

//Obtener los datos de los documentos que contengan cierta frase
const autos = db.documents
 .query(qb.where(qb.term("chiron")))
 .result(function (results){
  results.forEach((results)=>{
   console.log(JSON.stringify(results, null, 2));
  });
});

Ejecutarán el archivo js con el siguiente comando:

node conexion.js

Visualizarán la información del documento que contenga la palabra «chiron» en la terminal como se muestra en la siguiente pantalla:

También puedes consultar la documentación oficial de MarkLogic para más información acerca de Marklogic Nodejs Api REST.