API client Node.js

Node.js

Définition

L'API client Node.js de MarkLogic est une bibliothèque JavaScript open source qui offre aux développeurs un accès rapide, simple et fiable à partir des applications développées à l'aide de Node.js : le serveur Web le plus répandu pour le développement simple d'applications réseau rapides et évolutives avec des E/S non bloquantes, asynchrones.

Accéder au dépôt Git de l'API client Node.js


E/S asynchrones

Une question d'importance

Pour les développeurs utilisant (ou envisageant d'utiliser) Node.js dans leurs piles applicatives, l'API client Node.js constitue la solution la plus rapide, la plus simple et la plus fiable de communiquer avec une base de données MarkLogic.

L'API offre une interface JavaScript asynchrone dédiée aux fonctionnalités MarkLogic principales, comme la recherche, la gestion documentaire, le chargement par lots, les transactions, les agrégats et les alertes. Associée à la capacité d'indexation et de gestion natives des documents JSON, l'API client Node.js est un outil parfaitement adapté au développement JavaScript de piles complètes.

L'API client Node.js, qui est écrit en JavaScript spécifiquement pour Node, valorise les meilleures pratiques aux deux extrémités, Node et MarkLogic. Par exemple, les E/S asynchrones sont appliquées de manière exhaustive et les commodités sont fournies pour l'établissement des requêtes complexes. Son interface est optimisée pour les développeurs Node. Pour les opérations exigeantes et demandeuses en ressources, l'API client Node.js fournit un mécanisme d'extension qui exécute JavaScript sur le serveur, à proximité des données.

Le client Node est développé librement sur GitHub sous licence open source Apache 2.0. Le meilleur moyen d'appréhender la solution est de consigner des entrées relatives aux erreurs et aux nouvelles fonctionnalités.

Voici un exemple rapide décrivant la manière dont une application Node génère une requête et traite les résultats.

var marklogic = require('marklogic');
var conn = require('./env.js').connection; // Host and auth details

var db = marklogic.createDatabaseClient(conn);
var q = marklogic.queryBuilder;
db.documents.query(
  q.where(
    q.collection('countries'),
    q.value('region', 'Africa'),
    q.or(
      q.word('background',   'France'),
      q.word('Legal system', 'French')
    )
  )
)
  .result(function(documents) {
    documents.forEach(function(document) {
      console.log(JSON.stringify(document))
    })
  });