ArangoDB Restful API
6069 ワード
ArangoDBは、データベースを管理するWebインタフェースとshellインタフェースを提供するほか、Restful APIを使用してデータベースを管理することもできます.
データベース操作
データベースクエリー
現在のデータベースのバージョン
現在のユーザー・データベースのリスト
データベースリスト
データベースの作成
データベースの削除
コレクションアクション
クエリー・リスト
コレクションの作成
コレクションの削除
クエリー・セット
クリアコレクション
ドキュメントアクション
ドキュメントの追加
ドキュメントの更新
ドキュメントの削除
ドキュメントの照会
データベース操作
データベースクエリー
現在のデータベースのバージョン
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_db/mydb/_api/version | json_reformat
{
"server": "arango",
"license": "community",
"version": "3.6.0"
}
現在のユーザー・データベースのリスト
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_api/database/user | json_reformat
{
"error": false,
"code": 200,
"result": [
"_system",
"mydb"
]
}
データベースリスト
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_api/database | json_reformat
{
"error": false,
"code": 200,
"result": [
"_system",
"mydb"
]
}
データベースの作成
$ curl -u $USERNAME:$PASSWORD -s -X POST -H 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/database <
データベースの削除
$ curl -u $USERNAME:$PASSWORD -s -X DELETE -H 'accept: application/json' --dump - http://localhost:8529/_api/database/mydb
HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
Server: ArangoDB
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
Content-Length: 40
{"error":false,"code":200,"result":true}
コレクションアクション
クエリー・リスト
$ curl -u $USERNAME:$PASSWORD -s -X GET --header 'accept: application/json' http://localhost:8529/_api/collection | json_reformat
...
コレクションの作成
$ curl -u $USERNAME:$PASSWORD -s -X POST -H 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/collection | json_reformat <
コレクションの削除
$ curl -u $USERNAME:$PASSWORD -s -X DELETE http://localhost:8529/_api/collection/users | json_reformat
{
"error": false,
"code": 200,
"id": "26506"
}
クエリー・セット
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_api/collection/users | json_reformat
{
"error": false,
"code": 200,
"type": 2,
"isSystem": false,
"id": "26654",
"globallyUniqueId": "hC515043B52A2/26654",
"name": "users",
"status": 3
}
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_api/collection/users/properties | json_reformat
{
"error": false,
"code": 200,
"writeConcern": 1,
"waitForSync": false,
"globallyUniqueId": "hC515043B52A2/26654",
"id": "26654",
"cacheEnabled": false,
"isSystem": false,
"keyOptions": {
"allowUserKeys": true,
"type": "traditional",
"lastValue": 0
},
"objectId": "26653",
"name": "users",
"status": 3,
"statusString": "loaded",
"type": 2
}
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_api/collection/users/count | json_reformat
{
"error": false,
"code": 200,
"writeConcern": 1,
"waitForSync": false,
"globallyUniqueId": "hC515043B52A2/26654",
"id": "26654",
"cacheEnabled": false,
"isSystem": false,
"keyOptions": {
"allowUserKeys": true,
"type": "traditional",
"lastValue": 0
},
"objectId": "26653",
"count": 0,
"name": "users",
"status": 3,
"statusString": "loaded",
"type": 2
}
クリアコレクション
$ curl -u $USERNAME:$PASSWORD -s -X PUT http://localhost:8529/_api/collection/users/truncate | json_reformat
{
"error": false,
"code": 200,
"type": 2,
"isSystem": false,
"id": "26654",
"globallyUniqueId": "hC515043B52A2/26654",
"name": "users",
"status": 3
}
ドキュメントアクション
ドキュメントの追加
$ curl -u $USERNAME:$PASSWORD -s -X POST -H 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/document/users <
ドキュメントの更新
$ curl -u $USERNAME:$PASSWORD -s -X PUT -H 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/document/users/27157 <
ドキュメントの削除
$ curl -u $USERNAME:$PASSWORD -s -X DELETE http://localhost:8529/_api/dosers/27157 | json_reformat
{
"_id": "users/27157",
"_key": "27157",
"_rev": "_Z9-DAmi--_"
}
ドキュメントの照会
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_api/document/users/27157 | json_reformat
{
"_key": "27157",
"_id": "users/27157",
"_rev": "_Z9-_4mW---",
"name": "user1",
"age": 10,
"sex": 1,
"address": {
"home": "home address",
"office": "office address"
}
}