問題タブ [couchbase-java-api]

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

java - Couchbase での CRUD 操作の操作

私はCouchbaseの初心者ユーザーです。以下のようにドキュメントをデフォルトのバケットに挿入しようとしています。jsonドキュメントをバケットに挿入する方法として、以下の2つを見つけました。 1) JsonDocumentとupsertを用意してバケットに挿入

2) または、SQL String query = "upsert into default(KEY, VALUE) values(LDATA)" のような直接クエリを使用して

上記のクエリを noram sql ステートメントのように実行する方法を見つけることができません。例: ステートメント st = connection.createStatement(); ResultSet rs = st.executeQuery(クエリ);

N1QLQuery を使用して json ドキュメントを Couchbase バケットに挿入する方法。

ドキュメントを取得する 2 つの方法を見つけました。

i) document Id bucket.get("phone").content().get("phoneinfo") を使用してドキュメントを直接取得する

ii) N!QueryResultSet を使用してドキュメントを取得する N1qlQueryResult result = bucket.query(N1qlQuery.simple("select * from default;"));

Couchbase のバケットとの間でドキュメントを挿入および取得するためのさまざまなアプローチに混乱しました。最初のアプローチを使用してドキュメントを挿入する場合は、jsondocument 全体としてキーと値を持つ JsonObject を準備する必要があります。

したがって、2 番目のアプローチを使用してドキュメントを挿入する方がよいと思います。そのため、N1QLResultSet(2 番目のアプローチ) を使用してドキュメントを取得できるようになります。しかし、最初のアプローチを使用して、バケット内のドキュメントの数を取得する必要があり、それからすべてのドキュメントをループすることができます

クエリ: 1) ドキュメントから選択的にネストされたノードを取得する方法 2) json ドキュメントでは、ノード ant ごとにキーと値を分割し、JSONObject に入れて JSONDocument を準備する必要がありますか? 3) バケットが高速検索を行うためのビューを作成する方法は?

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

couchbase - ドキュメントをソファベースに挿入するための同等のN1qlクエリは何ですか

次のクエリは、Java_client の操作中にソファベースからドキュメントを取得するためのものです。

上記のように N1qlQuery を使用して Couchbase にドキュメントを挿入するステートメントを作成するにはどうすればよいですか?

0 投票する
4 に答える
1415 参照

java - プログラムで Java クライアントを使用してインデックスを作成および公開する方法

Couchbases Java Client 2.2.2 を使用して、プログラムでセカンダリ インデックスを作成して公開することはできますか? Couchbase 4.1 を実行しているカスタム セカンダリ インデックスを作成して公開できるようにしたいと考えています。これは Couchbase ビューで実行できることはわかっていますが、インデックスについては同じことが見つかりません。

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

couchbase - Couchbase はレプリカから取得します

私はJava SDKでcouchbase 4.0.1を使用しています。

これは私のコードです:

TimeoutException が発生した場合 - レプリカに移動しますが、先週、サーバーの問題により、サーバーの 1 つから OutOfMemory 例外が発生しました。もちろん、レプリカからドキュメントを取得したわけではなく、独自の例外がいくつかありました.

例外が発生した場合にレプリカにアクセスする必要があるかどうかを知りたいですか?

ありがとう、

そうです

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

couchbase - ドキュメントが CBL から Couchbase Server に複製されるときに TTL を設定します

アプリで以下のコードを使用して、CBL でドキュメントの ttl を設定しました。私が正しければ、このttl値はcouchbaseサーバーに伝播されないと思いますか?

では、サーバーが期限切れのドキュメントを自動的にクリーンアップするように、CBL からソファベース サーバーに複製されるドキュメントの ttl を設定するにはどうすればよいでしょうか? これを明確に説明できる Couchbase のドキュメントは見つかりません。

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

jdbc - jdbc を使用した Couchbase への接続タイムアウト

JDBC経由でCouchbaseに接続しようとしているのですが、タイムアウト例外が何度も出て勝手に動作しています。タイムアウトも増やしてみましたが、それでもエラーになります。以下は、Couchbase への接続に使用されるコードです。

また、Jar :couchbase-core-io-1.2.7.jar およびcouchbase-java-client-2.2.6 を使用しており、接続しようとしているソファベースのバージョンは Couchbase バージョン 4.5.1-2841 Enterprise Edition です。

.connectTimeout(1000000) を使用してタイムアウトを増やしてみましたが、問題は解決しません。

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

couchbase - spring-data-couchbase を使用して Null 値が Couchbase に保持されない

@Documentを使用して永続化しようとするとCrudRepository、オブジェクト内のすべての null フィールドがデータベースに書き込まれません。

例 (オブジェクト obj):

objRepo.save(obj)、field2 は Couchbase に書き込まれません。

nullを保存するためにSpringリポジトリの動作をオーバーライドする可能性はありますか? 自分で作成する必要がありますかMappingCouchbaseConverter、それとも .TranslationService

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

java - Couchbase のネストされたオブジェクト タイプ

ソファベース ドキュメントでネストされたオブジェクトの型を取得する最良の方法を見つけようとしています。

私はこの文書を持っています:

Spring データは _class を使用して、ホール ドキュメント タイプを見つけます。

私の質問は:

カテゴリ リストで各オブジェクトの正確なタイプを確認するにはどうすればよいですか?

ありがとう

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

java - 最初に応答しない場合、Couchbase Client Java SDK は別のクラスター ノードを使用しません。

したがって、このページによると:http://developer.couchbase.com/documentation/server/current/sdk/java/start-using-sdk.html

わかりやすいように、Eclipse で Maven プロジェクトを開きます。カウチベース クライアント用の最新の Java SDK を使用する:

私のコード、短くて甘い:

私の Couchbase クラスターは、3 つの VM 上の 3 つのノードで構成されています。docker でデプロイします。それらはうまく機能し、SDK のすべての優れた機能を使用する別のアプリケーションがありますが、テストを行っているときに何かが壊れていることがわかりました。

ノード 10.200.0.11 またはノード 10.200.0.12 がダウンしているときに上記のコードを実行すると、すべて問題ありません。3 つのノードすべての詳細を含む素敵な json がコンソールに表示されます。

問題: このコードを実行し、ノード 10.200.0.10 がダウンしている場合、ドキュメントの例で指定されているように、他の 2 つのノードを使用してブートストラップしようとしません。代わりに eception がスローされ、アプリケーションが終了します。

エラー:

10.200.0.10 がオーケストレーターであり、新しいオーケストレーターがクラスター情報で応答しないことに関係があると思われます。しかし、Couchbase アーキテクチャのドキュメントによると: http://www.couchbase.com/sites/default/files/uploads/all/whitepapers/Couchbase_Server_Architecture_Review.pdf

オーケストレーター ノードがクラッシュした場合、既存のノードはそれが使用できなくなったことを検出し、すぐに新しいオーケストレーターを選択して、クラスターが中断することなく動作し続けるようにします。

Cluster オブジェクト内のノード リストの最初のノードへの接続が接続できない場合、他のノードを試行していない可能性があります。バグの可能性はありますか?