使用Python操作ArangoDB的方法步骤


Posted in Python onFebruary 02, 2020

前面说过怎样使用 ArangoDB 的 Web,Shell 和 Restful API 来操作数据库,今天看一下怎样使用Python语言来操作ArangoDB数据库。

要通过 Python 脚本来访问 ArangoDB,我们需要先安装 pyArango 库

$ pip install pyArango

下面写了一个简单的 Python 脚本,其中包含了一些常用的操作,如:创建连接,数据库操作,集合操作和文档操作等。

from pyArango.connection import *


# 创建连接
conn = Connection(arangoURL='http://106.54.228.237:8529', username="root", password="Letmein")
print('conn: %s' % conn)

# 创建数据库
if not conn.hasDatabase('mydb'):
  conn.createDatabase(name="mydb")

db = conn['mydb']
print('db: %s' % db)

# 创建集合
if not db.hasCollection('users'):
  db.createCollection(name='users')

collection = db['users']
print('collection: %s' % collection)

# 插入文档数据
print('collection count before insert: %s' % collection.count())
for i in range(0, 10):
  user = {
    'name': 'user_' + str(i), 
    'age': 20 + i, 
    'address': {
      'home': 'home address', 
      'office': 'office address'
    }
  }
  collection.createDocument(user).save()
print('collection count after insert: %s' % collection.count())

# 分页查询文档
print('fetchAll ...')
query = collection.fetchAll(skip=5, limit=2)
for doc in query:
  print(doc)

# 按条件查询文档
print('fetchByExample ...')
query = collection.fetchByExample({'name': 'user_5'}, batchSize=10, count=True)
for doc in query:
  print(doc)

# 使用AQL查询文档
print('query by AQL ...')
aql = "FOR user IN users FILTER user.name == @name || user.age > 25 LIMIT 5 RETURN user"
bindVars = {'name': 'user_0'}
query = db.AQLQuery(aql, rawResults=False, batchSize=1, bindVars=bindVars)
for doc in query:
  print(doc)

# 删除文档
print('collection count before delete: %s' % collection.count())
query = collection.fetchAll()
for doc in query:
  doc.delete()
print('collection count after delete: %s' % collection.count())

# 删除集合
collection.delete()

参考文档

https://pyarango.readthedocs.io/en/stable/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现类继承实例
Jul 04 Python
python使用7z解压apk包的方法
Apr 18 Python
Python字符串处理实现单词反转
Jun 14 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
Feb 24 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 Python
python超时重新请求解决方案
Oct 21 Python
Python坐标线性插值应用实现
Nov 13 Python
python 回溯法模板详解
Feb 26 Python
python matplotlib imshow热图坐标替换/映射实例
Mar 14 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 Python
详解有关PyCharm安装库失败的问题的解决方法
Feb 02 #Python
Python 模拟生成动态产生验证码图片的方法
Feb 01 #Python
Python递归及尾递归优化操作实例分析
Feb 01 #Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 #Python
python随机生成大小写字母数字混合密码(仅20行代码)
Feb 01 #Python
Python random模块制作简易的四位数验证码
Feb 01 #Python
python模拟预测一下新型冠状病毒肺炎的数据
Feb 01 #Python
You might like
PHP模拟SQL Server的两个日期处理函数
2006/10/09 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
angularJS 入门基础
2015/02/09 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
python实现中文输出的两种方法
2015/05/09 Python
python让列表倒序输出的实例
2018/06/25 Python
Python函数参数操作详解
2018/08/03 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
Python基于内置函数type创建新类型
2020/10/22 Python
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
如何获得EntityManager
2014/02/09 面试题
室内拓展活动方案
2014/02/13 职场文书
童年读书笔记
2015/06/26 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python