Node.jsクライアントAPI

Node.js

説明

MarkLogicのNode.js クライアントAPIはオープンソースのJavaScriptライブラリです。これによりNode.jsで構築したアプリケーションから、MarkLogicに素早く簡単に、高い信頼性でアクセスできます。Node.jsは、ノンブロッキングな非同期I/Oを使用して、高速でスケーラブルなネットワークを簡単に構築できる、最も人気のあるwebサーバーです。

Node.jsクライアントAPIのGit Repoにアクセス


非同期I/O

重要である理由

Node.jsをアプリケーションスタックで使用している、あるいは使用したいと思っている場合、Node.jsクライアントAPIが、MarkLogicデータベースと通信するための最も速く、最も簡単で、最も信頼性のある方法です。

このAPIは、主要なMarkLogic機能(検索、ドキュメント管理、一括読み込み、トランザクション、集計、アラートなど)用の非同期JavaScriptインターフェイスを提供します。JSONドキュメントをネイティブに管理(インデックス付けなど)するMarkLogicの機能と一緒に使えば、Node.jsクライアントAPIは、フルスタックのJavaScript開発用の理想的なツールとなります。

Node.jsクライアントAPIは、Node用に特別にJavaScriptで記述されたもので、NodeとMarkLogicの両方に関するベストプラクティスをカプセル化しています。たとえば、非同期I/Oが最初から最後まで保持されるため、複雑なクエリの作成に便利です。またそのインターフェイスは、Node開発者が親しみやすく、使い易いように設計されています。パフォーマンスが重要で、またリソースを大きく消費する処理の場合、Node.jsクライアントAPIは、JavaScriptをサーバー上のデータ近くで実行する拡張メカニズムを提供します。

NodeクライアントはGitHub上でオープンに開発され、オープンソースのApache 2.0ライセンスとなっています。これに参加するには、バグや新機能の問題を報告するといいでしょう。

ここでは、Nodeアプリケーションがクエリを作成し結果を処理する、簡単なサンプルを紹介します。

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