使用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重试装饰器示例
Feb 11 Python
跟老齐学Python之私有函数和专有方法
Oct 24 Python
Python中实现结构相似的函数调用方法
Mar 10 Python
python开发之list操作实例分析
Feb 22 Python
python实现发送邮件及附件功能
Mar 02 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
简单了解Python3里的一些新特性
Jul 13 Python
python getpass实现密文实例详解
Sep 24 Python
python实现复制文件到指定目录
Oct 16 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 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命名空间(namespace)的使用基础及示例
2014/08/18 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
Node.js的包详细介绍
2015/01/14 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
openlayers实现地图弹窗
2020/09/25 Javascript
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
Python中pygame安装方法图文详解
2015/11/11 Python
Python端口扫描简单程序
2016/11/10 Python
python实现八大排序算法(2)
2017/09/14 Python
python 编码规范整理
2018/05/05 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
即兴演讲稿
2014/01/04 职场文书
红领巾心向党广播稿
2014/01/19 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
平安建设工作方案
2014/06/02 职场文书
优秀会计求职信
2014/07/04 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
上课迟到检讨书
2015/05/06 职场文书
在校学生证明格式
2015/06/24 职场文书
老干部座谈会主持词
2015/07/03 职场文书
Python 数据可视化之Matplotlib详解
2021/11/02 Python