使用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 28 Python
numpy使用技巧之数组过滤实例代码
Feb 03 Python
numpy返回array中元素的index方法
Jun 27 Python
python 文件转成16进制数组的实例
Jul 09 Python
在Python中使用Neo4j的方法
Mar 14 Python
python flask解析json数据不完整的解决方法
May 26 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
Python shutil模块用法实例分析
Oct 02 Python
Python类反射机制使用实例解析
Dec 30 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
pandas使用函数批量处理数据(map、apply、applymap)
Nov 27 Python
教你怎么用Python生成九宫格照片
May 20 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缓存技术的使用说明
2011/08/06 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
domReady的实现案例
2016/11/23 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
2018/01/05 NodeJs
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
js实现转动骰子模型
2019/10/24 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
玩转python爬虫之爬取糗事百科段子
2016/02/17 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
Python中的descriptor描述器简明使用指南
2016/06/02 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
一年级数学教学反思
2014/02/01 职场文书
销售会计岗位职责
2014/03/15 职场文书
铁路安全事故反思
2014/04/26 职场文书
公关活动策划方案
2014/05/25 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书