問題タブ [iriscouch]
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.
couchdb - ホストされた CouchDB プロバイダーの価格設定プログラムは意味がありません
CouchDB の究極の目標は、レプリケーション機能です。TouchDB、Cloudant-Sync、および Couchbase-Lite を使用すると、ユーザーのスマートフォンからデータベースを複製することもできるため、接続に問題があってもデータを利用できます。
CouchDB レプリケーション プロトコル(さまざまなフレームワークや SDK で実装が若干異なる場合があります) は、変更されたすべてのドキュメントに対して GET 要求を行います。
CloudantとIris-Couchはどちらも、データベースのサイズ、軽い http 要求 (GET、HEAD) の数、および重い http 要求 (PUT、POST、DELETE) の数に基づく料金設定プログラムを提供します。つまり、単一のドキュメントに対して GET を呼び出すと、 に対して GET を呼び出すのと同じコストがかかり/_all_docs
ます。
ある意味では、これらの価格設定プログラムに関しては、レプリケーション プロトコルは非常に非効率的であるように見えます。たとえば、ユーザーがサーバーからドキュメントをプルするだけの場合、要求によって変更されていないドキュメントをダウンロードするように要求/_all_docs?include_docs=true
されたとしても、標準のレプリケーションを実行するよりも安価に使用できる可能性があります.../_all_docs
何か不足していますか?価格設定プログラムは、リクエスト数ではなく、ダウンロード/アップロードされるデータの量を考慮すべきではありませんか? /_all_docs
単一のドキュメントの GET リクエストは、呼び出しやビューよりもはるかに安価であるべきではありませんか? レプリケーション プロトコルを微調整して、帯域幅の面で効率を低下させますが、はるかに安価にすることはできますか?
PS Couchbase は別のプロジェクトであり、CouchDB レプリケーション プロトコルはそれに無関係であることを知っています。Couchbase はクライアントからのレプリケーションもサポートしています (Couchbase Lite 経由)。サーバーへのリクエスト数に関して、2 つのメカニズムを比較する方法はありますか?
- - 編集 - -
/_all_docs
コストを削減するためではなく、プロセスを最適化するために、Couchbase-Lite レプリケーション アルゴリズムで使用されている
ようです: https://github.com/couchbase/couchbase-lite-ios/wiki/Replication-Algorithm
- 上記の一括取得最適化の限定的なケースは、標準 API で可能です。ジェネレーション 1 のリビジョン (リビジョン ID は「1-」で始まります) は、_all_docs を介して一括で取得できます。これは、定義上、リビジョン履歴がないためです。残念ながら、_all_docs は添付ファイルの本文を含めることができないため、JSON が添付ファイルがあることを示すドキュメントを返す場合、それらは個別に取得する必要があります。それにもかかわらず、この最適化は非常に役立ち、現在 Couchbase Lite に実装されています。
- 編集 -
この問題は、CouchDB の一部としてではなく、Couchbase Sync Gateway で処理されています: https://github.com/couchbase/sync_gateway/wiki/Bulk-GET
これが CouchDB に実装されることはあるのだろうか。リクエストごとに課金するサービス プロバイダーは、この機能をサポートすることに関心がないようです...
java - Android で JSONObject を Iris CouchDb にアップロードする
現在、アプリに取り組んでおり、JSONObject を Iris CouchDb にアップロードする際に問題が発生しています。しかし、私はそれを機能させることができません。
これは私が今使っているコードです:
onCreate では、これを実行して関数を実行します。
アプリを実行すると、エラーはありませんが、何もアップロードされません。したがって、データベースに変更はありません。
Iris にアップロードするのに間違った URL を使用していますか、それともコードに何か問題がありますか? 私は Android 開発に不慣れで、これに何日も苦労しているので、本当に助けていただければ幸いです。
android - Android CouchDB {"error":"bad_request","reason":"invalid_json"}
IrisCouch データベースで新しいドキュメントを作成しようとすると、常に次のエラーが発生します: {"error":"bad_request","reason":"invalid_json"}
これは私の機能の関連部分です:
これが私の System.out の「本体」です。
JSON は有効です。jsonlint.com JSON Validator でテストしました。
どうすればいいですか?前もって感謝します!
node.js - cradle api と iriscouch follow api を使用した couchdb Save が NodeJS 関数で機能しない
NodeJS でクレードルを使用して JavaScript オブジェクトを保存しようとしていますが、保存後に応答またはエラー メッセージが表示されません。パスワードが設定されていないローカルのcouchdbです。接続は正常で、データベースは存在します。iriscouch フォローhttps://github.com/iriscouch/followも使用しています。そのため、wages テーブルに変更が加えられると、save employee メソッドが呼び出されます。私はそれをデバッグしましたが、保存は行われていないので、次のように動作します。
これが私のコードです。
couchdb - PouchDB: 競合なし
PouchDB を使用して、Web サイトから CouchDB (IrisCouch) にユーザー データを保存します。間違いに続いて、既に使用されている名前のドキュメントをプッシュしました。競合があったことを認めて、競合するファイルを回復しようとしました。
しかし、これdoc._conflicts
は null であり、ドキュメントには「_conflicts」プロパティがありません。
だから私はこのコードで競合を作成しようとしました:
ここで何が欠けていますか?
couchdb - iriscouch でアカウントを取得するにはどうすればよいですか? サインアップが無効になっていますか?
「マイアカウント」ページのサインインボタンを試してみました。メールを入力すると、Persona で使用するパスワードを作成するように言われました。アカウントの登録に成功すると、couchdb api リンクが記載されたメールが送信されるはずでした。しかし、そうではありません。
では、どうすれば iriscouch でアカウントを取得できますか? iriscouch と同じことができるサービスはありますか?
誰でも私を助けることができますか?私は緊急事態です。