問題タブ [arangojs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
420 参照

arangodb - --javascript.execute で arangosh サポート シバンを使用できます

arangoshロードされたjavascriptファイルにシバンがあるのが好きではないようです--javascript.execute

私は arangodb 用の sysadmin ツールを作成しています。これは、root パスワードを持つ人が何かが壊れたときに使用するツールです! arangodb の許可制限をバイパスする、許可を求めないツール。そのためにUNIXソケットを使用します。

これまでのところ、次のもので作成/opt/arango-tools/bin/arangojsしました:

次に、次の単純なヘルパー ツールを使用/opt/arango-tools/bin/list-users.jsします。

しかし、実行すると次のようになります。

明らかに、で始まる行#!は有効な JavaScript ではありません。

提案/回避策/アイデア - 誰か?

0 投票する
2 に答える
131 参照

java - 「3da549f0-0e88-4297-b6af-5179b74bd929」など、文字列に「-」が含まれている場合、全文検索を行う方法は?

フィールドにインデックスを付けて、上記の例のように「-」を含む文字列を検索すると、Arango はそれを否定演算子として扱い、その文字列を検索しません。「-」を含むこれらの文書を検索する解決策は何ですか?

0 投票する
1 に答える
145 参照

arangodb - 変数 arangojs にデータを保存する

node.js で作業しているので、IoTCollection というコレクションに 1 つのドキュメントが含まれています。

{ID: 1、センサー: 12}

返されたデータを変数に格納する必要があります

しかし、保留中の約束を返します

どうすればいいですか?

前もって感謝します

0 投票する
1 に答える
420 参照

arangodb - aql クエリ配列からの Arangodb インポート

私が理解しているように、arangoimp 関数はドキュメントの配列を新しいコレクションにインポートできます。

新しいコレクションとして作成したいドキュメントの配列の形式で複雑な結合の出力があるためです。これを考えると、配列で arangoimp をクエリの一部として、または arangosh として実行する方法はありますか?

それ以外の場合、私のオプションは次のとおりです。1)それを吸い上げて配列を反復処理し、ドキュメントを保存します。または 2) 配列をファイルにダンプし、arangoimp を使用してインポートします...

ここで明らかな何かが欠けているのかもしれませんが、今週は答えを出すための時間が少しあります。すべての考えや提案に感謝します。

0 投票する
1 に答える
325 参照

typescript - Angular2 Web アプリケーションで ArangoJS ドライバーを使用する

Angular2 と Typescript (v1.8.10) を使用してプロジェクトに取り組んでいます。ArangoDB データベースのデータを Web アプリケーションに統合したいと考えています。できればarangojsドライバーを使いたいです。arangojs モジュールのタイピングはまだ存在しないため (存在する場合、誰かがそれらを指摘できますか?)、allowJs tsc コンパイラ オプションを使用しようとしています。すべて正常に変換されますが、systemjs は arangojs モジュールをロードできません。私の ts ファイルの次の行 (クラス定義の外):

次のようにトランスパイルします。

ただし、Web アプリケーションをロードすると、この require("arangojs") によって次のエラーが生成されます。

Angular2 Web アプリケーションで arangojs ドライバーを使用する方法に関するアドバイスや提案を歓迎します。

ありがとう

アップデート

上記のエラーが見つかりました。このエラーは、system.config.js のタイプミスが原因でした。タイプミスを修正した後、http、https、クエリ文字列などの arangojs 依存関係の読み込み中にエラーが発生したため、モジュールの読み込みに失敗しました。require によってバックグラウンドで使用されるモジュール ローダーは、Angular2 で使用される systemjs と互換性がないのではないかと推測しています。縮小されたarangojsドライバーをロードすることができました

そして使用する

私のタイプスクリプトファイルで。ただし、typescript環境でarangojsをネイティブに使用することをお勧めします。(上記のハックではなく) Angular2 typescript 環境で arangojs ドライバーを使用したことがある人はいますか?

再度、感謝します。

0 投票する
1 に答える
221 参照

node.js - ArangoJS 3.x で NodeJs スタイル関数コールバックを使用する

ArangoJs 3.xで関数コールバックのようなNodeJsを使用することは可能ですか? ArangoJs 3.x が.thenメソッド (プロミス) を使用していることを見てきました..しかし、私は NodeJs 4.4 を使用しているため、.thenそこでメソッドを使用できません.. arangojs 3.x の関数コールバックのように nodejs を使用できますか?

0 投票する
1 に答える
1072 参照

node.js - 負荷がかかった状態 (複数の同時クエリ) で ArangoDB のパフォーマンスを向上させるにはどうすればよいですか?

ArangoDB と PostgreSQL を使用して、ほぼ同一のデータを保存します。PostgreSQL は、リレーショナル データベースが適切に実行できる一般的なタイプのクエリを実行するために使用されます。ArangoDB は、グラフ トラバーサル、最短パスの検索などの種類のクエリを実行するために選択されました。

現時点では、PostgreSQL に 160000 レコードのテーブルがあり、ArangoDB に同じ量のドキュメントがあるコレクションがあります。

私たちが取り組んでいる API は同時に複数のユーザーによって使用されるため、最初に確認したかったのは、ArangoDB と PostgreSQL の両方が負荷の下でどのように動作するかということでした。ワークロードとして、ArangoDB と PostgreSQL の両方に対してフィルターを使用して単純な選択クエリを実行する単純な負荷テストを作成しました。

クエリは、日付フィールドによるフィルターで上位 N のレコード/ドキュメントを選択します。

負荷テストを実行すると、PostgreSQL へのすべてのクエリが 0.5 秒以内に実行されます。ユーザー数を 10 から 100 に増やしても、実行時間にはまったく影響しません。

ArangoDB への同じクエリは、1 人のユーザーで開始すると約 2 秒かかります。その後、応答時間は同時ユーザーの数に正比例して増加します。同時ユーザー数が 30 の場合、応答を 60 秒間待機すると、すべてのクエリがタイムアウトになります。

arangojs コネクタをデバッグしようとしたところ、次のことがわかりました。

この:

これは、デフォルトの arangojs の動作が、同時に ArangoDB に 6 つ以下の同時クエリを送信することであることを意味します。これにより、残りのすべてのクエリが Node.js 側でキューに入れられます。数を増やそうとしましたが、役に立ちませんでした。現在、すべてのクエリが ArandoDB 側でキューに入れられているようです。ここで、ロードを実行し、ArangoDB Web Interface を使用していくつかのクエリを実行しようとすると、(その時点でのユーザーの数に応じて) 予測できない時間がクエリに渡され、結果が返され、実行されたことが示されます。約 4 秒で、これは正しくありません。私にとっては、他のすべてのクエリがキューに入れられている間、ArangoDBは一度に1つのクエリしか実行できないようです...

何か不足していますか?ArangoDB を調整して、負荷がかかった状態でのパフォーマンスを向上させる設定はありますか?

アップデート:

ArangoDB 3.0 を使用し、1.5 GB の RAM を備えた Docker コンテナー (公式イメージから) として実行します。

サンプル ドキュメント (約 16,000 個あります):

AQL クエリ: