使用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中的赋值、浅拷贝、深拷贝介绍
Mar 09 Python
python实现感知器算法详解
Dec 19 Python
Python爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
python opencv 直方图反向投影的方法
Feb 24 Python
python清除字符串中间空格的实例讲解
May 11 Python
Django组件之cookie与session的使用方法
Jan 10 Python
Django中create和save方法的不同
Aug 13 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
解决Pycharm 导入其他文件夹源码的2种方法
Feb 12 Python
python读取hdfs并返回dataframe教程
Jun 05 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
php执行sql语句的写法
2009/03/10 PHP
php 操作符与控制结构
2012/03/07 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
JavaScript中的事件处理
2008/01/16 Javascript
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
JS动态调用方法名示例介绍
2013/12/18 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
python获取点击的坐标画图形的方法
2019/07/09 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
python实现数字炸弹游戏程序
2020/07/17 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
毕业生精彩的自我评价分享
2013/10/06 职场文书
前台文员我鉴定
2014/01/12 职场文书
2014年圣诞节促销方案
2014/03/14 职场文书
新课培训心得体会
2014/09/03 职场文书
读后感作文评语
2014/12/25 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
培训督导岗位职责
2015/04/10 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP