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