Node.js-Client-API

Node.js

Was ist das?

Die MarkLogic Node.js-Client-API ist eine Open-Source-JavaScript-Bibliothek. Sie ermöglicht Entwicklern von Node.js Anwendungen einen nahtlosen Zugriff auf MarkLogic. Mit Hilfe von Node.js können hoch performante und skalierbare Anwendungen auf Basis von JavaScript erstellt werden.

Node.js-Client-API-Git-Repository


Asynchrone E/A

Warum ist das wichtig?

Für Entwickler, die Node.js in ihrem Anwendungsstack verwenden  möchten, stellt die Node.js-Client-API die schnellste, einfachste und zuverlässigste Möglichkeit dar, mit einer MarkLogic Datenbank zu kommunizieren.

Die API bietet eine asynchrone JavaScript-Schnittstelle für die Kernfunktionen von MarkLogic, darunter Suche, Dokumentenverwaltung, Massenladen, Transaktionen, Aggregate und Benachrichtigung. In Kombination mit der MarkLogic Funktion zum nativen Indexieren und Verwalten von JSON-Dokumenten ist die Node.js-Client-API das ideale Tool für eine JavaScript-Entwicklung.

Die Node.js-Client-API ist in JavaScript speziell für Node geschrieben und enthält Best Practices für Node und MarkLogic. So werden z. B. asynchrone E/A Prozesse konsequent durchgesetzt und Funktionen für die Entwicklung komplexer Abfragen bereitgestellt. Die Schnittstelle ist in einem für Node-Entwickler vertrauten Format konzipiert,und für leistungskritische oder ressourcenintensive Vorgänge bietet die Node.js-Client-API einen Mechanismus zur Ausführung von JavaScript in Datennähe auf dem Server.

Der Node-Client wird als Open Source auf GitHub entwickelt und unter der Open-Source-Lizenz Apache 2.0lizenziert. Beiträge in Form von Fehlermeldungen oder Vorschlägen zu neuen Funktionen sind immer willkommen.

Im nachstehenden Beispiel wird gezeigt, wie eine Node-Anwendung eine Abfrage erstellt und die Ergebnisse verarbeitet.

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))
    })
  });