使用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 命令行非阻塞输入的小例子
Sep 27 Python
python 转换 Javascript %u 字符串为python unicode的代码
Sep 06 Python
python通过cookie模拟已登录状态的初步研究
Nov 09 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
详解python函数传参是传值还是传引用
Jan 16 Python
python requests模拟登陆github的实现方法
Dec 26 Python
Python基础之高级变量类型实例详解
Jan 03 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 Python
python如何查看安装了的模块
Jun 23 Python
Python with语句用法原理详解
Jul 03 Python
Pytorch上下采样函数--interpolate用法
Jul 07 Python
Pyhton模块和包相关知识总结
May 12 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
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
php中autoload的用法总结
2013/11/08 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
PHP 快速排序算法详解
2014/11/10 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
vscode自定义vue模板的实现
2021/01/27 Vue.js
python实现爬虫下载美女图片
2015/07/14 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
大学生职业生涯规划书参考模板
2014/03/05 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
银行贷款收入证明
2014/10/17 职场文书
实习班主任自我评价
2015/03/11 职场文书
python实现简单倒计时功能
2021/04/21 Python
MySQL七种JOIN类型小结
2021/10/24 MySQL
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS