Ich benutze das Cloudant Knotenmodul, um meine Cloudant Datenbank zu ändern. Ich schicke die folgenden Dokumente an die db.bulk(params,callback) function.CouchDB Massenlöschung Node.js
{ docs: [
{ "_id": "...",
"_rev": "...",
"_deleted": true
},
{ "_id": "...",
"_rev": "...",
"_deleted": true
},
{ "_id": "...",
"_rev": "...",
"_deleted": true
},
{ ... }
]}
Nachdem ich diese Funktion nenne ich keine Fehler bekomme, aber wenn ich versuche, und die Datenbank abfragen später bin ich immer noch die gelöschten Dokumente zurück zu bekommen? Ich weiß, dass Cloudant "Tombstone-Dokumente" hat, also sollten sie immer noch da sein, aber ich sehe wirklich keine Tombstones. Ich sehe nur die Dokumente, die ich löschen wollte, in meiner Datenbank mit einer neuen _rev-Nummer und kehrte zurück aktiv.
Auch wenn ich versuche, die Datenbank mit einem Selektor gelöscht zu löschen: True bekomme ich nichts zurück.
Fehle ich etwas?
P. S Wenn Sie sich fragen, warum ich „_deleted“ in der Bulk-Dokument lege ich war gerade nach dem, was this site said to do.
In einer Massenoperation können einige Änderungen fehlschlagen, während andere erfolgreich sind. Haben Sie die tatsächliche Antwort überprüft und nicht nur den Parameter 'err'? – OrangeDog
Ja, ich tat und es gibt die _id- und _rev-Nummer für jedes Dokument zurück, was das erwartete Verhalten zum Löschen von Dokumenten gemäß der Dokumentation [auf dieser Seite] (http://wiki.apache.org/couchdb/HTTP_Bulk_Document_API) ist. – Danwakeem
Und wenn Sie sie später abfragen, haben sie die _rev, die zurückgegeben wurde, die ursprüngliche _rev oder etwas anderes? – OrangeDog