私はいくつかの添付ファイルを追加したい、と私は成功したものを追加することができますが、ループの中で、それだけで一つの画像保存されたとき:5.pngをし、競合エラーを取得:Pouchdb forループにどのようにputAttachmentを入れることができますか?
function addNewDoc() {
db.get('my0112doc', function(err, doc) {
if (err) {
return console.log(err);
}
// var blob = base64toBlob(imgSoucrce30m, 'image/png', 1024);
var blob =imgSoucrce30m;
var attachment = {
content_type: 'image/png',
data: blob
}
for (var i = 5; i >= 0; i--) {
var nameImg=i+'.png';
db.putAttachment('my0112doc', nameImg, doc._rev, blob, 'text/plain', function(err, res) {
if (err) {
return console.log(err);
}
});
}
});
}
====================新しいソリューション======================== ================私の機能で
、私はそのリビジョン_revを指定しましたが、競合がまだ発生しますs。なぜ私は理解できません。
CustomPouchError {ステータス:409、名称: "競合" メッセージ: "文書更新の競合"、エラー:真}
function addNewDoc() {
db.get('my0112doc', function(err, doc) {
if (err) {
return console.log(err);
}
// var blob = base64toBlob(imgSoucrce30m, 'image/png', 1024);
var blob = imgSoucrce30m;
addAttachment(5,doc._rev,blob);
});
}
function addAttachment(counter,revId,blob) {
var nameImg = counter + '.png';
db.putAttachment('my0112doc', nameImg, revId, blob, 'text/plain', function(err, res) {
if (err) {
return console.log(err);
}
if (counter >= 0) {
addAttachment(counter - 1,revId,blob);
}
});
}
ありがとうwinhowes、あなたの答えは私のために非常に役立ちます、私はまだコンフリクトのエラーを取得しました、私はそのリビジョン_revを指定した、私はコンフリクトが発生する理由を理解できません – AdvancingEnemy
私はあなたが同じrevID毎回更新されるたびに変更されませんか? revIDは 'res'オブジェクトで返されますか? – winhowes
[このメソッドは添付ファイルを追加するために既存の文書を更新するので、文書がすでに存在する場合はrevが必要です。ドキュメントがまだ存在しない場合、このメソッドは添付ファイルを含む空のドキュメントを作成します。](https://pouchdb.com/api.html#save_attachment)。私はAPIに従っていますが、私のdoc.revは私のdocオブジェクトのものです。これは次のようなものです:_rev: "" 56-eb390d85ef90f92efdfc0cf458d2590b "" – AdvancingEnemy