Index handle is used to uniquely identify an index within the database.
For example, let’s create an "employees" collection and find out all the indexes on it.
127.0.0.1:8529@abc_org> db._create("employees") [ArangoCollection 77247, "employees" (type document, status loaded)] 127.0.0.1:8529@abc_org> db.employees.getIndexes() [ { "fields" : [ "_key" ], "id" : "employees/0", "name" : "primary", "selectivityEstimate" : 1, "sparse" : false, "type" : "primary", "unique" : true } ]
As you see the above snippet, "employees/0" is the index handle, it is a string and consists of the collection name and an index identifier separated by a /.
Access the index using index handle
Index handle is unique within the database. You can access it using _index method.
Syntax
db._index("<index-handle>");
Example
index1 = db._index("employees/0")
127.0.0.1:8529@abc_org> index1 = db._index("employees/0") { "fields" : [ "_key" ], "id" : "employees/0", "name" : "primary", "sparse" : false, "type" : "primary", "unique" : true, "code" : 200 }
You can access the values of index using . operator.
127.0.0.1:8529@abc_org> index1.name primary 127.0.0.1:8529@abc_org> index1.type primary 127.0.0.1:8529@abc_org> index1.fields [ "_key" ]
You can even use the index method on collection to get the index by index handle.
db.collection.index("<index-handle>");
127.0.0.1:8529@abc_org> db.employees.index("employees/0") { "fields" : [ "_key" ], "id" : "employees/0", "name" : "primary", "sparse" : false, "type" : "primary", "unique" : true, "code" : 200 }
Access index using index identifier
Index identifier is unique within the collection.
Syntax
db.collection.index("<index-identifier>");
Example
127.0.0.1:8529@abc_org> db.employees.index("0") { "fields" : [ "_key" ], "id" : "employees/0", "name" : "primary", "sparse" : false, "type" : "primary", "unique" : true, "code" : 200 }
Accessing indexes using index name
Index names are unique within the collection.
Syntax
db._index("collectionName/indexName")
db.demo.index("indexName")127.0.0.1:8529@abc_org> db._index("employees/primary") { "fields" : [ "_key" ], "id" : "employees/0", "name" : "primary", "sparse" : false, "type" : "primary", "unique" : true, "code" : 200 } 127.0.0.1:8529@abc_org> db.employees.index("primary") { "fields" : [ "_key" ], "id" : "employees/0", "name" : "primary", "sparse" : false, "type" : "primary", "unique" : true, "code" : 200 }
No comments:
Post a Comment