使用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分析nignx访问日志脚本分享
Feb 26 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
详解Python的collections模块中的deque双端队列结构
Jul 07 Python
python正则表达式re之compile函数解析
Oct 25 Python
Python比较2个时间大小的实现方法
Apr 10 Python
Numpy掩码式数组详解
Apr 17 Python
Python 中pandas索引切片读取数据缺失数据处理问题
Oct 09 Python
Python内置方法实现字符串的秘钥加解密(推荐)
Dec 09 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
python网络编程socket实现服务端、客户端操作详解
Mar 24 Python
python和js交互调用的方法
Jun 23 Python
Python实现http接口自动化测试的示例代码
Oct 09 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
15个小时----从修改程序到自己些程序
2006/10/09 PHP
社区(php&&mysql)六
2006/10/09 PHP
DedeCms模板安装/制作概述
2007/03/11 PHP
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
jQuery 动画基础教程
2008/12/25 Javascript
javascript web对话框与弹出窗口
2009/02/22 Javascript
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
基于zepto.js实现手机相册功能
2017/07/11 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
基于vue+element实现全局loading过程详解
2020/07/10 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python中文字符串截取问题
2015/06/15 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
Python日期时间Time模块实例详解
2019/04/15 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
质检部职责
2013/12/28 职场文书
生日宴会答谢词
2014/01/09 职场文书
奶茶店创业计划书范文
2014/01/17 职场文书
护理专科自荐书范文
2014/02/18 职场文书
交通事故一次性赔偿协议书范本
2014/11/02 职场文书
公司管理制度范本
2015/08/03 职场文书