使用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实现划词翻译
Apr 23 Python
Python实现的二维码生成小软件
Jul 11 Python
Python中使用Inotify监控文件实例
Feb 14 Python
在Python中使用元类的教程
Apr 28 Python
python中装饰器级连的使用方法示例
Sep 29 Python
python正则表达式爬取猫眼电影top100
Feb 24 Python
PyQt5每天必学之布局管理
Apr 19 Python
《与孩子一起学编程》python自测题
May 27 Python
python+numpy按行求一个二维数组的最大值方法
Jul 09 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 Python
Python 利用flask搭建一个共享服务器的步骤
Dec 05 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
PHPShop存在多个安全漏洞
2006/10/09 PHP
PHP sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
php实现每日签到功能
2018/11/29 PHP
浅谈php调用python文件
2019/03/29 PHP
jquery实现心算练习代码
2010/12/06 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
Python删除空文件和空文件夹的方法
2015/07/14 Python
Django中的文件的上传的几种方式
2018/07/23 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
化验室技术员岗位职责
2013/12/24 职场文书
应届毕业生求职信范文分享
2013/12/26 职场文书
监理资料员岗位职责
2014/01/03 职场文书
护理工作感言
2014/01/16 职场文书
我的梦想演讲稿
2014/04/30 职场文书
留学生求职信
2014/06/03 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
2015年司法局工作总结
2015/05/22 职场文书
2016年少先队活动总结
2016/04/06 职场文书