前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ArangoDB Restful API

ArangoDB Restful API

作者头像
kongxx
发布于 2020-02-18 09:32:57
发布于 2020-02-18 09:32:57
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

ArangoDB 除了提供 Web 和 shell 接口来管理数据库之外,还可以使用 Restful API 的方式来管理数据库。

数据库操作

数据库查询

当前数据库版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_db/mydb/_api/version | json_reformat
{
    "server": "arango",
    "license": "community",
    "version": "3.6.0"
}

当前用户数据库列表

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_api/database/user | json_reformat 
{
    "error": false,
    "code": 200,
    "result": [
        "_system",
        "mydb"
    ]
}

数据库列表

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X GET http://localhost:8529/_api/database | json_reformat
{
    "error": false,
    "code": 200,
    "result": [
        "_system",
        "mydb"
    ]
}

创建数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X POST -H 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/database <<EOF
{ 
  "name" : "mydb", 
  "options" : { 
    "sharding" : "flexible", 
    "replicationFactor" : 3 
  } 
}
EOF

HTTP/1.1 201 Created
X-Content-Type-Options: nosniff
Server: ArangoDB
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
Content-Length: 40

{"error":false,"code":201,"result":true}

删除数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ 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}

集合操作

查询列表

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X GET --header 'accept: application/json' http://localhost:8529/_api/collection | json_reformat
...

创建集合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X POST -H 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/collection | json_reformat <<EOF
{ 
  "name" : "users"
}
EOF

删除集合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X DELETE http://localhost:8529/_api/collection/users | json_reformat 
{
    "error": false,
    "code": 200,
    "id": "26506"
}

查询集合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ 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
}

清空集合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ 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
}

文档操作

添加文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X POST -H 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/document/users <<EOF
{ 
  "name": "user1", 
  "age": 10, 
  "sex": 1, 
  "address": {
    "home": "home address", 
    "office": "office address"
  }
}
EOF

HTTP/1.1 202 Accepted
X-Content-Type-Options: nosniff
Etag: "_Z9-_4mW---"
Location: /_db/_system/_api/document/users/27157
Server: ArangoDB
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
Content-Length: 57

{"_id":"users/27157","_key":"27157","_rev":"_Z9-_4mW---"}

更新文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X PUT -H 'accept: application/json' --data-binary @- --dump - http://localhost:8529/_api/document/users/27157 <<EOF
{ 
  "name": "user1", 
  "age": 20, 
  "sex": 1, 
  "address": {
    "home": "home address", 
    "office": "office address"
  }
}
EOF

删除文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ curl -u $USERNAME:$PASSWORD -s -X DELETE http://localhost:8529/_api/dosers/27157 | json_reformat 
{
    "_id": "users/27157",
    "_key": "27157",
    "_rev": "_Z9-DAmi--_"
}

查询文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ 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"
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ArangoDB文档操作
通过ArangoDB提供的shell终端,我们可以执行很多文档集合操作,下面就看看一些常用的方法。
kongxx
2020/02/18
9120
使用Flask实现RESTful API(译)
假设那你已经了解RESTful API的相关概念,如果不清楚,可以阅读我之前写的这篇博客Designing a RESTful Web API.
用户2936342
2018/08/27
6230
使用Python操作ArangoDB
前面说过怎样使用 ArangoDB 的 Web,Shell 和 Restful API 来操作数据库,今天看一下怎样使用Python语言来操作ArangoDB数据库。
kongxx
2020/02/18
1.5K0
InfluxDB配置admin用户认证登陆
不管是yum安装,亦或者是docker安装的方式,influxdb默认安装完毕之后,并不会自带用户认证的功能,直接就可以进行访问的了。 情况如下:
Devops海洋的渔夫
2019/11/26
11.9K0
arangodb教程:arangodb安装配置与web界面使用
如果执行curl命令时报错:curl: (35) Peer reports incompatible or unsupported protocol version.
洪文聊架构
2021/01/24
3.3K0
arangodb教程:arangodb安装配置与web界面使用
RESTful规范Api最佳设计实践
RESTful是目前比较流行的接口路径设计规范,基于HTTP,一般使用JSON方式定义,通过不同HttpMethod来定义对应接口的资源动作,如:新增(POST)、删除(DELETE)、更新(PUT、PATCH)、查询(GET)等。
恒宇少年
2019/10/10
9790
Django RESTful API设计指南
RESTful API设计指南 #1 环境 Python3.7.3 djangorestframework==3.8.2 #2 动词 methods url 说明 GET /zoos 列出所有动物园(列表) GET /zoos/id/ 获取某个指定动物园的信息(详细信息) POST /zoos 新建一个动物园 PUT /zoos/id/ 更新某个指定动物园的信息 DELETE /zoos/id/ 删除某个指定动物园 #3 状态码(Status Code) #3.1 HTTP 状态码主要有以下几类 1xx
Autooooooo
2020/11/09
1.1K0
如何在Ubuntu 14.04上安装和使用ArangoDB
ArangoDB是一个NoSQL数据库。它创建于2011年,当时已有许多NoSQL数据库,其目标是成为一个涵盖各种用例的综合数据库解决方案。
朝朝
2018/09/29
2.7K0
InfluxDB使用HTTP的API编写数据
Centos7 下 InfluxDB 从安装开始到入门 InfluxDB关键概念 经过前面两个篇章的探讨,基本已经了解了InfluxDB的操作,下面再来继续看看使用HTTP API编写数据。
Devops海洋的渔夫
2019/05/31
3.3K0
使用 Flask 创建 RESTful 服务
依赖完成以后在 server 目录下再新建一个 server 目录作为项目的主目录,第一级 server 目录作为共用配置文件存储目录。
keinYe
2019/10/17
1.4K0
使用Java驱动操作ArangoDB
前面说过怎样使用 ArangoDB 的 Web,Shell 和 Restful API 来操作数据库,今天看一下怎样使用Java语言来操作ArangoDB数据库。
kongxx
2020/02/18
1.8K0
34. Flask 集成 flask-restful
这种方式当然可以开发 api, 但是当我们想要基于 restful 风格来编写 api,就不太方便了。就需要写 4 个单独的函数视图,如下:
Devops海洋的渔夫
2022/01/14
8700
34. Flask 集成 flask-restful
AgileConfig - RESTful API 介绍
AgileConfig是一个基于.net core开发的轻量级配置中心。 AgileConfig秉承轻量化的特点,部署简单、配置简单、使用简单、学习简单,它只提取了必要的一些功能,并没有像Apollo那样复杂且庞大。但是它的功能也已经足够你替换webconfig,appsettings.json这些文件了。如果你不想用微服务全家桶,不想为了部署一个配置中心而需要看N篇教程跟几台服务器那么你可以试试AgileConfig :)
MJ.Zhou
2021/01/20
3730
Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(一)
Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(一)
用户1289394
2020/12/08
1.7K0
Spring Boot+Spring Security+JWT 实现 RESTful Api 认证(一)
『阅读源代码的姿势:以 go-restful 为例』
go-restful.png go-restful-code.png 大家好,我叫谢伟,是一名程序员。 下面结合我的经历和见闻,讲述下一名非科班程序员的成长过程: 学习一门编程语言 写尽量多的代码 补尽量多的基础知识 一定阶段后(有开发任务,能按时完成),开始思考架构:即如何更好的设计一个项目 阅读源代码,看热门的项目的源代码 重点梳理源代码的流程而不是细节 借鉴好的源代码的思路编写程序 掌握更多的软件设计知识 架构师:技术选型、设计 ... 一般初学者确定一个方向,比如web 后端、前端等,会选择一门编程
谢伟
2018/06/06
1.6K0
CouchDB入门
在CentOS8上默认的yum源是没有couchdb包的,因此需要添加couchdb的yum源。创建一个新文件 /etc/yum.repos.d/bintray-apache-couchdb-rpm.repo,内容如下:
kongxx
2020/02/18
9940
如何在Ubuntu 14.04上安装和使用BaasBox
BaasBox是一个充当数据库服务器和应用程序服务器的应用程序。开箱即用,BaasBox通过备份提供用户注册,用户管理,角色管理,内容管理,文件管理和数据库管理功能。由于所有这些功能都是通过标准HTTP REST API公开的,因此Web和移动应用程序的开发人员可以使用BaasBox作为后端来存储数据。开发人员还可以创建基于BaasBox的微服务,这些服务由其应用程序的其他部分使用。
心语花束
2018/09/29
1.2K0
RESTful API
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。
用户1214487
2022/03/26
1.6K0
RESTful API
python flask web 博客实例 restful api 5
|-flasky |-app/ |-api_1_0 |-init.py |-users.py |-posts.py |-comments.py |-authentication.py |-errors.py |-decorators.py
用户5760343
2019/07/05
7120
基于Python编写一个调用API的类
现在后端开发基本上都是写各种API提供给别人使用,我在日常工作里既写API,也经常调用别人写的API。
panzhixiang
2024/10/30
1430
相关推荐
ArangoDB文档操作
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验