Ich möchte ein paar Anhänge hinzuzufügen, und ich kann man erfolgreich hinzufügen, aber wenn in der Schleife, wird es retten nur ein Bild: 5.png und Konfliktfehlermeldung erhalten:Pouchdb Wie kann ich Attachment in eine for-Schleife einfügen?
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);
}
});
}
});
}
==================== neue Lösung ======================== ================
in meiner Funktion habe ich seine Revision _rev angegeben, aber der Konflikt immer noch auftreten s. Ich kann nicht verstehen warum.
CustomPouchError {status: 409, name: "Konflikt", Meldung: "Document Aktualisierungskonflikt", Fehler: true}
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);
}
});
}
danke winhowes, Ihre Antwort ist sehr hilfreich für mich, ich habe es versucht, noch bekomme ich den Konflikt Fehler, ich habe seine Revision _rev angegeben, kann ich nicht verstehen, warum der Konflikt auftritt – AdvancingEnemy
Ich bemerkte, dass Sie in der gleichen RevID übergeben jedes Mal, aber würde sich das nicht jedes Mal ändern, wenn es aktualisiert wird? Wird die revID im 'res' Objekt zurückgegeben? – winhowes
[Diese Methode aktualisiert ein vorhandenes Dokument, um den Anhang hinzuzufügen, so dass eine Überarbeitung erforderlich ist, wenn das Dokument bereits vorhanden ist. Wenn das Dokument noch nicht existiert, erstellt diese Methode ein leeres Dokument, das den Anhang enthält.] (Https://pouchdb.com/api.html#save_attachment). Ich mache es nach der API, meine doc._rev ist von meinem doc-Objekt, es ist so: _rev: "" 56-eb390d85ef90f92efdfc0cf458d2590b "" – AdvancingEnemy