How Do I Delete A Key-value Pair Using Cradle In Couchdb/node.js?
Solution 1:
In CouchDB, there is no support for partial document updates (support for this is discussed every once in a while, but since there is no accepted way to patch JSON, it never gets very far), so you have to update the entire document with a copy where the unwanted key/value pair is removed.
Solution 2:
Okay all, I found a solution that's a work around to this.
Instead of making a document that has a list of key-value pairs, instead just make a document with one field and for it's value insert the JSON of the key value pairs. That way, you can pull the value, delete a field and save it back to the original value, without needing to recreate the entire document over again.
Here's an example using Cradle:
db.get('document', function (err, doc) {
var inside_key_values = doc.key_value_pair;
delete inside_key_values[key_to_delete];
db.merge("document", {
key_value_pair: inside_key_values
}, function (err, res) {
console.log('New key value pairs saved')
});
});
This is all based @djc 's great response on the lack of support on the couchDB end. Hopefully someone else out there finds this workaround valuable.
Post a Comment for "How Do I Delete A Key-value Pair Using Cradle In Couchdb/node.js?"