Signature
collection.document(document-handle)
collection.document(document-key)
‘collection.document’ method finds an element either by id (_id) or by document key (_key).
Let’s experiment with given example.
127.0.0.1:8529@abc_org> db.user.toArray() [ { "_key" : "17089", "_id" : "user/17089", "_rev" : "_cRe1GKq---", "id" : 1, "firstName" : "Sailu", "lastName" : "Ptr", "age" : 32 }, { "_key" : "17091", "_id" : "user/17091", "_rev" : "_cRe1GKu---", "id" : 2, "firstName" : "Gopi", "lastName" : "Battu", "age" : 33 }, { "_key" : "17093", "_id" : "user/17093", "_rev" : "_cRe1GKy---", "id" : 3, "firstName" : "Krishna", "lastName" : "Gurram", "age" : 32 }, { "_key" : "17095", "_id" : "user/17095", "_rev" : "_cRe1H-6---", "id" : 4, "firstName" : "Venkat", "lastName" : "Ptr", "age" : 35 } ]
Example: Find the document by id
127.0.0.1:8529@abc_org> db.user.document("user/17095") { "_key" : "17095", "_id" : "user/17095", "_rev" : "_cRe1H-6---", "id" : 4, "firstName" : "Venkat", "lastName" : "Ptr", "age" : 35 }
Example: Find the document by key
127.0.0.1:8529@abc_org> db.user.document("17095") { "_key" : "17095", "_id" : "user/17095", "_rev" : "_cRe1H-6---", "id" : 4, "firstName" : "Venkat", "lastName" : "Ptr", "age" : 35 }
This method throws 'document not found' error when the document is not exist with given id or key.
127.0.0.1:8529@abc_org> db.user.document("17098") JavaScript exception in file '/usr/local/Cellar/arangodb/3.7.11_1/share/arangodb3/js/client/modules/@arangodb/arangosh.js' at 99,7: ArangoError 1202: document not found ! throw error; ! ^ stacktrace: ArangoError: document not found at Object.exports.checkRequestResult (/usr/local/Cellar/arangodb/3.7.11_1/share/arangodb3/js/client/modules/@arangodb/arangosh.js:97:21) at ArangoCollection.document (/usr/local/Cellar/arangodb/3.7.11_1/share/arangodb3/js/client/modules/@arangodb/arango-collection.js:764:12) at <shell command>:1:9
You can even pass a json object as an argument to document method.
db.user.document({"_key" : "17095"})
127.0.0.1:8529@abc_org> db.user.document({"_key" : "17095"}) { "_key" : "17095", "_id" : "user/17095", "_rev" : "_cRe1H-6---", "id" : 4, "firstName" : "Venkat", "lastName" : "Ptr", "age" : 35 }
You can even specify _rev attribute while getting the document.
127.0.0.1:8529@abc_org> db.user.document({"_key" : "17095", "_rev" : "_cRe1H-6---"}) { "_key" : "17095", "_id" : "user/17095", "_rev" : "_cRe1H-6---", "id" : 4, "firstName" : "Venkat", "lastName" : "Ptr", "age" : 35 }
Suppose if the document with given revision is not exist, then ArangoDB throws a conflict.
127.0.0.1:8529@abc_org> db.user.document({"_key" : "17095", "_rev" : "_cRe1H-6"}) JavaScript exception in file '/usr/local/Cellar/arangodb/3.7.11_1/share/arangodb3/js/client/modules/@arangodb/arangosh.js' at 99,7: ArangoError 1200: conflict ! throw error; ! ^ stacktrace: ArangoError: conflict at Object.exports.checkRequestResult (/usr/local/Cellar/arangodb/3.7.11_1/share/arangodb3/js/client/modules/@arangodb/arangosh.js:97:21) at ArangoCollection.document (/usr/local/Cellar/arangodb/3.7.11_1/share/arangodb3/js/client/modules/@arangodb/arango-collection.js:764:12) at <shell command>:1:9
No comments:
Post a Comment