使用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版
Dec 07 Python
python通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
Python保存MongoDB上的文件到本地的方法
Mar 16 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
用tensorflow搭建CNN的方法
Mar 05 Python
TensorFlow模型保存和提取的方法
Mar 08 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
python实现拼接图片
Mar 23 Python
如何在Python 游戏中模拟引力
Mar 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
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP数组无限分级数据的层级化处理代码
2012/12/29 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
php数据序列化测试实例详解
2017/08/12 PHP
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
vue + typescript + video.js实现 流媒体播放 视频监控功能
2019/07/07 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python多线程实例教程
2014/09/06 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
selenium在执行phantomjs的API并获取执行结果的方法
2018/12/17 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
数控技术专科生自我评价
2014/01/08 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
外贸业务员求职信
2014/06/16 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
自主招生学校推荐信
2014/09/26 职场文书
办理收楼委托书范本
2014/10/09 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers