Utiliser Node.js avec Marklogic 8

Le SGBD NoSQL Marklogic 8 dispose d’une API Node.js, qui permet de développer rapidement de petites (ou puissantes ?) applications Web.

Partons du principe que vous avez installé Node.js (version 0.12.7) le jour où j’écris ces lignes, et que vous commencez à savoir vous en servir. Vous trouverez sur le What’s new de Marklogic 8 une introduction sur l’intégration de Node.js dans ce produit.

Installation du client

Sur npm, vous trouverez un client marklogic officiel, que vous installerez via la commande

Vous obtiendrez un warning lors de l’installation :

Mais vous trouverez sur stackoverflow et sur le github marklogic de quoi vous rassurer.

Premiers essais

Vos premiers essais seront basés sur le document « Getting Started with the Node Client API » du site Marklogic.

Le code est simple, lisible. Il suffit de charger le client marklogic, la configuration de connexion placée dans un fichier js, et d’appeler une méthode de connexion.

Ensuite, on insère un ou plusieurs documents dans la base via :

La seule chose qui me gène un peu est la syntaxe utilisée pour la récupération des résultats : 

Là où l’implémentation monk/mongoDB propose une syntaxe qui me semble plus classique pour node.js (mais je suis nouveau dans ce domaine) :

Ingestion de documents JSON dans la base

Voici le code qui me sert à faire ingérer à Marklogic des lots de documents stockés dans des fichiers JSON dont le chemin est passé en paramètre du script. Chaque fichier contient un array d’objets.

L’uri de chaque item est ici le contenu de le la propriété uuid de l’objet fr. A vous d’adapter à votre format d’import.

Test avec qconsole

Dans un browser, ouvrez http://localhost:8000/qconsole et entrez comme query :

Dans mon cas, j’obtiens une liste de titres de films, ce qui illustre la possibilité de requêter des documents JSON avec des requêtes XQuery (ici une simple expression XPath). Sympa, non ? Vous trouverez plus de détails sur le maniement de JSON dans Marklogic sur la page Working with JSON de la documentation Marklogic.

A vous d’adapter le chemin XPath à votre format de document.

Référence

« Node.js Application Developer’s Guide« .

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

WordPress Anti Spam par WP-SpamShield