使用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爬虫之urllib2使用指南
Nov 05 Python
Python中使用装饰器时需要注意的一些问题
May 11 Python
python删除特定文件的方法
Jul 30 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
Python栈算法的实现与简单应用示例
Nov 01 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Selenium alert 弹窗处理的示例代码
Aug 06 Python
python re的findall和finditer的区别详解
Nov 15 Python
一文搞懂如何实现Go 超时控制
Mar 30 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的面向对象编程
2006/10/09 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
zf框架的session会话周期及次数限制使用示例
2014/03/13 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
QQ登录简单实现代码
2021/03/09 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
详解用python生成随机数的几种方法
2019/08/04 Python
python中reload重载实例用法
2020/12/15 Python
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
《童趣》教学反思
2014/02/19 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
社会工作专业求职信
2014/07/15 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
预备党员转正材料
2014/12/19 职场文书
2015年读书月活动总结
2015/03/26 职场文书
政府会议通知范文
2015/04/15 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
2016年党建工作简报
2015/11/26 职场文书
用Python爬取某乎手机APP数据
2021/06/15 Python
Java 写一个简单的图书管理系统
2022/04/26 Java/Android