‘collection.update’ method updates the content of a document that matches to given selector.
Signature
collection.update(selector, data)
collection.update(selector, data, options)
‘selector’ is a json object that contain either _id or _key attribute to uniquely identify the document within the collection.
Can I provide _rev attribute in the selector object?
Yes, you can provide _rev attribute. When selector contains _rev attribute, replace method first checks that the specified revision is the current revision of that document or not. If not, error is thrown.
‘options’ argument is a json object. Following table summarizes the options that are passed to this argument.
Option |
Description |
waitForSync |
If it is set to true, Arango force synchronization of document information to disk.
If it is not set (or) set to false, Collection’s default waitForSync behavior is applied.
|
overwrite |
If this is set to true, _rev attribute in the selector object is ignored. |
returnNew |
If this is set to true, newly created document is returned in the output. |
returnOld |
If this is set to true, pld document is returned in the output. |
silent |
If this flag is set to true, the nothing is returned in the output. |
keepNull |
By default null values are stored in database. But if you set this attribute to false, then the data with null values will be removed from the target document. |
mergeObjects |
If it is set to true, objects will be merged. The default value is true.
If it is set to false, the value in the patch document will overwrite the existing document’s value. |
Let’s experiment it with an example.
127.0.0.1:8529@abc_org> db.user.document("23418") { "_key" : "23418", "_id" : "user/23418", "_rev" : "_cRiGmZa---", "name" : "Manohar Amara", "hobbies" : [ "Cricket" ] }
Let’s update the above document.
127.0.0.1:8529@abc_org> db.user.update({"_key" : "23418"}, {"hobbies" : ["football", "trekking"], "age": 34}, {"returnNew" : true, "returnOld": true}) { "_id" : "user/23418", "_key" : "23418", "_rev" : "_cRjYiwi---", "_oldRev" : "_cRiGmZa---", "old" : { "_key" : "23418", "_id" : "user/23418", "_rev" : "_cRiGmZa---", "name" : "Manohar Amara", "hobbies" : [ "Cricket" ] }, "new" : { "_key" : "23418", "_id" : "user/23418", "_rev" : "_cRjYiwi---", "name" : "Manohar Amara", "hobbies" : [ "football", "trekking" ], "age" : 34 } }
No comments:
Post a Comment