リモートソースから自身を更新するブラウザDBに対してローカルにしたいと考えています。これを解決するためにpouchdb/cloudantを使用しようとしています。リモートDBは多くのクライアントで使用されるため、読み取り専用で認証は必要ありません。私は、次のしている私のセットアップコードでリモートpouchdbの読み取り専用レプリケーション
{"cloudant":{"admin_user":["_writer","_admin","_replicator","_reader"],"nobody":["_reader"],"apiKey":["_writer","_admin","_replicator","_reader"]}}
:次のようにcloudantに関連するデシベル(例えば「remotedbによって」)のための私の権限の設定がある
var localDB = new PouchDB('local');
var remoteDB = new PouchDB('https://account.cloudant.com/remoteDB');
localDB.replicate.from(remoteDB, {live: false}).on('change', function (change) {
console.log("change", change);
}).on('error', function (err) {
console.log("err-replicate", err);
});
ロードするときに、私は401不正エラーを取得していますこれを含むページこのためPUT要求であるせる要求:
https://account.cloudant.com/remoteDB/_local/JqXQso2dZEjdZsU1e_2Qxw==
ヘッダのparamsは次のとおり
- _id:_local/JqXQso2dZEjdZsU1e_2Qxwの==
- last_seq: "0"
このデータベースのクラウドにnobodyのユーザーがいると、ライターのアクセス権が失われます。何がここに間違っているアイデアですか?
これは、リモートソースから一方向レプリケーションを行う正しい方法ですか?
修正プログラムのようなものが_replicator権限をnobodyユーザーに追加することができます –