問題タブ [n1ql]

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 に答える
696 参照

performance - 結合による N1QL パフォーマンス

N1QL のパフォーマンスに苦しんでいます。3 ノードの 4.1 クラスター セットアップがあり、各ノードは 6 GB、レプリカ セットは 1 です。平均サイズ 100k の合計 200 万のドキュメントが挿入されました。N1QL を使用してドキュメントを選択している間、クエリは同じバケット内で結合しているため、自己結合のように見える場合があります。21 分でデータを取得しています。これは恐ろしいことです。結合したキーでは、すでにインデックスを作成しています。他に何が欠けていますか。私にとって、ForestDB が本当に機能している場合、1 秒未満で結果が得られるはずです。ここで答えを探しています。ただし、couchbase フォーラムからはあまりサポートが得られませんでした。

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

multidimensional-array - ネストされた配列 (Couchbase) で不明な親の子の中から検索する

私は MongoDB を使用して気に入っていますが、最近 Couchbase を使い始めました。希望する方法でドキュメントを取得するのに問題があります。

次のようなドキュメントがあるとします。

find({"data.target": value2})MongoDB では、 (指定する必要があるのではなく)の行に沿って何かを行うことができますdata.1.target。ただし、Couchbase でこれを行う方法が見つからないようです。

N1QL またはビューを使用して、すべての中間キーを指定せずに、指定された子キーに基づいてすべてのドキュメントを検索する方法はありますか? であることを指定すれば問題なくドキュメントを取得できますdata.1.targetが、目的の子配列のキーをまだ知らない場合は何の役にも立ちません。

別の言い方をすれば、N1QL の場合、節data[*].targetの後に butを使用するのと同じことができるようにしたいと考えています。WHERE

よくわからない場合は申し訳ありません。私はかなり見回しましたが、質問を明確にする方法や、どの特定のキーワードを検索する必要があるのか​​ 正確にはわかりません. 私は何を検索するかについてのアイデアがなくなったので、最終的にここで質問しています。

お時間をいただきありがとうございます。

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

couchbase - ScanConsistency がカウチベースで TimeOutExecution を与えるのはなぜですか?

Couchbase から更新されたデータが必要なユースケースがあるため、couchbase にデータをクエリすると、次のようになります。

更新されたデータはしばらくの間提供されますが、データベースのサイズが大きくなると、更新された一貫したデータが提供されなくなります。ここで、クエリはインデックスをスキャンし、それに応じて必要なデータを提供しています。したがって、一貫性のあるデータを取得するために、couchbase のドキュメントで提案されている ScanConsistency.REQUESTPLUS を使用しました。しかし、コードを変更して次のようなことをするとすぐに:

毎回タイムアウト例外が発生し、結果が返されません。ここでデータの一貫性を実現する方法と、常にタイムアウト例外が発生する理由を説明してください。

スタックトレース:

どんな助けでも大歓迎です。

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

mapreduce - Couchbase でドキュメントを結合し、集計関数を使用する

私はこれらの4つの文書を持っています

資料1

資料2

資料3

資料4

ここで、合計関数ドキュメント 2、3、および 4 を使用して、それをドキュメント 1 と結合します。したがって、クエリの結果は次のようになります。

ここで、最初に特定の Acc_No のすべてのマークを合計し、次にそのマークの合計と姓名の合計を出力したいことがわかります。マークを合計することはできますが、結合をシミュレートすることはできません。

編集1:これは私がこれまでに行ったことです

マップ機能

関数を減らす

特定の Acc No. のすべてのマークの合計を取得しましたが、名と姓を含むドキュメントと結合できません。

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

couchbase - N1QL 多数の行を単一の文字列に連結

Couchbase で、名前を保持する 3 つのドキュメントがあるとします。

ピーター・ポール・メアリー

N1QL を使用して、これを Peter、Paul、Mary の単一の文字列に変換する簡単な方法はありますか?

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

couchbase - N1QL 多くの子行を単一の文字列に連結します

Couchbase には、次の 3 つのドキュメントを含む人物データベースがあるとします。

N1QL を使用して、これを次の結果に変換する簡単な方法はありますか? ひもで表示された孫を持つ各人を表示しようとしていますか?

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

couchbase - nullの結果を返すことによるCouchbaseの順序

このように N1QL を使用してデータベースにクエリを実行しています。

しかし、それは収益を返します: null

次のように、並べ替えなしでクエリを実行すると、正しい答えが得られますが、並べ替えられていません。

この方法でもクエリを実行でき、正しい答えがソートされます。

しかし、時間がかかるので、すべてのドキュメントを UNNEST するのではなく、UNNEST の前にドキュメントをフィルター処理したいと考えています。それはバグですか、それとも何か間違っていますか?

私のデータは次のようなものです:

これは Explain の出力です。関数ごとの順序を示していますが、null を返します。

順序なしで EXPLAIN に続く:

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

php - PHP で名前付きパラメーターを使用した Couchbase N1QL の select ステートメント

PHPでN1QLを使用しようとしていました...この最初のものは機能しています:1)

出力:

2) 名前付きパラメーターに変更すると、失敗しました:

「PHP Notice: Undefined variable: type...」エラーが発生しました

PHPでN1QLに名前付きパラメータを使用するための正しい構文を教えてくれる人はいますか?

私のソファベースサーバーは4.1です