問題タブ [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.
java - コードで Couchbase ビューを作成する: 最初のクエリは 0 行を返し、インデックスはバックグラウンドで構築されます
次のように、Couchbase Java API 2.1.2 を使用してコードでビューを作成しています。
ViewResult result = bucket.query(ViewQuery.from(name, viewName))
ドキュメントを挿入した直後に呼び出すと、viewResult.success()
常に true が返されますが、反復子rows()
とiterator
戻り値の両方で 0 行が返されます (確実に結果が存在します。Web インターフェイスでビューを実行すると、正しい値が返されます)。
query
数時間後に見つけた回避策は、間に十分な待ち時間を置いて2回電話することです
2 番目の呼び出しは、正しい結果を返します。
Couchbase は最初にクエリのインデックスを構築する必要があるように見えますが、インデックスが構築される前であっても、直接返されます。
もちろん、10 秒待つのは最適ではありません。今後、インデックスの作成にさらに時間がかかる可能性があります。
私の質問は、インデックスが構築されるまで待つことをどのように確認できますか?
これは API のバグですか?
java - Couchbase Java SDK がドキュメントを取得および削除できない
ビュー内のすべてのドキュメントが削除されない理由がわかりません。Couchbase 3.0.3 で Couchbase Java SDK 2.1.3 を使用しています。
何度実行しても、このプログラムの出力は常に「94 個のドキュメントを削除します」です。
ビューには、次のような map 関数しかありません。
私が間違っていることを理解できません!
java - 自動再接続するようにcouchbaseのJavaクライアントを構成するにはどうすればよいですか?
自動再接続するようにcouchbaseのJavaクライアントを構成するにはどうすればよいですか?
デフォルトでオンになっていますか?また、誰かが spring-data-couchbase を使用してそれを行う方法を示すのを手伝ってくれれば素晴らしいことです。
json - Couchbase にバイナリ オブジェクトとして挿入された JSON ドキュメント
Java POJOをcouchbaseストアに挿入しようとしていますが、cas
呼び出しのすぐ下のjsonは次のようになります-
これが有効な JSON であることを確認しました。couchbase GUI を介してこのドキュメントを検索しようとすると、バイナリ オブジェクトとしてまだ挿入されています。base64 でエンコードされた文字列が表示されます。ただし、他のいくつかのドキュメントは問題ありません。cas
これがメソッドでのみ発生しており、 では発生していないのではないかと思っていset
ます。
関連する Java コードは次のとおりです。
なぜこれが起こっているのかについての指針をいただければ幸いです。
Update1: Couchbase Java クライアント バージョン 1.4.4、サーバー 2.5 を使用しています
Update2: これは自分のコードや json とは関係ないと思います。json を大きな json ドキュメント (有効なもの) に置き換えてみたところ、couchbase GUI で同じ結果が得られました。ドキュメントのサイズが 2.5KB を超える可能性があるため、これが発生していると思います。上に貼り付けた json には、実際のフィールドとラベルが削除されており、少し長い文字列になっています。奇妙なことに、ドキュメントを変更すると、通常、960 文字未満のドキュメントは Json として表示されますが、わずかに超えるドキュメントはバイナリとして保存されます。
scala - Couchbase Java SDK: 同時タイムアウト例外
私は Couchbase 3.0 を使用しています。この問題に直面しています。2 つのバケットを同時に開こうとすると、エラーが発生しますjava.util.concurrent.TimeoutException
。
2 つのバケットを同時に開かなければならない場合があります。バケツを開く行の 1 つにコメントすると、コードは正常に機能しますが、両方のバケツを開こうとするとすぐに例外が発生します。
Java SDK のバージョンは 2.1.3 です
couchbase - couchbase Java SDK 2.1 からビューを作成するにはどうすればよいですか?
マップ関数の例でビューを作成する必要があります:
私はcouchbase Javaクライアント2.1を使用してこのビューを作成する必要があります。ドキュメントに何も見つかりませんでした
reactive-programming - オペレーターチェーンを壊さずにObservableを発行するObservableの出力をマージする方法は?
このコンテキストでは、Couchbase を使用して、2 レベルのドキュメント ストアに REST CRUD サービスを実装しています。データ モデルは、0 個以上のアイテム ドキュメントを指すインデックス ドキュメントです。インデックス ドキュメントは、非同期の get を使用して Observable として取得されます。この後に、アイテム ドキュメントごとに 0 個以上の ID を取得する .flatMap() が続きます。async get は Observable を返すので、今作成している Observable は Observable> です。「Observableを発行するObservableを受け取り、その出力を単一のObservableの出力にマージする」.merge()演算子をチェーンして、ReactiveXドキュメントを引用したい:)次に、その単一に.subscribe()しますアイテム ドキュメントを取得するための Observable。.merge() 演算子には多くのシグネチャがありますが、次のように一連の演算子で使用する方法がわかりません。
編集:
あなたはおそらく私が反応的な初心者だと思ったでしょう。@akarnokd からの回答は、自分がやろうとしていたことがばかげていることに気付くのに役立ちました。Observable<Observable<JsonDocument>>
解決策は、クロージャー内のアイテムからの排出量をマージし、document
その結果を返すことです。これにより、次の結果が出力JsonDocuments
されますflatMap
。
テスト済みで動作します:)