arangodb 实用笔记

auth:wangjing

date:2021-03-24

INSERT

insert document

insert {"name":"张三",
"age":"27",
"birthday":"1994-10-01",
"alive":"ture",
} INTO new_doc

insert document batch

let data =[
{"name":"张三","age":"27","birthday":"1994-10-01","alive":"ture"},
{"name":"张三","age":"27","birthday":"1994-10-01","alive":"ture"},
{"name":"张三","age":"27","birthday":"1994-10-01","alive":"ture"},
{"name":"张三","age":"27","birthday":"1994-10-01","alive":"ture"},
{"name":"张三","age":"27","birthday":"1994-10-01","alive":"ture"}
]
for d in data
insert d into new_doc

Insert edge

INSERT {_from:"new_doc/50072560",_to:"new_doc/50072501"} into new_edge
return "ok"

Insert with edge

INSERT {_from:"new_doc/50072560",_to:"new_doc/50072501",edge:"朋友"} into new_edge
return "ok"

REMOVE

根据_key值删除

REMOVE "19579" IN info2021

我们还可以循环删除文档

对于INSERT,UPDATE和REPLACE来说也是如此

FOR info IN info2021 FILTER info.age >= 30 REMOVE info IN info2021

UPDATE

将_key为19579的记录的age字段从25更新到60

UPDATE "19579" WITH { age: 60 } IN info2021

查询

return documents

for d in new_doc return d

return document record A

//单条记录
return document("new_doc/50072560")

return document record B

RETURN DOCUMENT( ["info2021/19579", "info2021/19768", "info2021/20234"] )

return document record C

//单条记录
for d in new_doc
return {"主键":d._id,"姓名":d.birthday}

return document record D

for c in new_doc
FILTER c.name == '张三'
return c

return edges

for d in new_edge return d

return edges 4 bob

for e in knows
filter e._from == "persons/bob" OR e._to   == "persons/bob"
return e

return edges 4 edge

for d in new_edge
filter d.edge == "朋友"
return d

查询对象与对象关系

for c in new_doc
FILTER c.name == '张三'
//一级关系
for v in 1..1
OUTBOUND c new_edge
return c

查询直接关系有问题

for r in new_edge
FILTER r._from==s._id
for e in new_doc
FILTER r._to == e._id
return {s:s,r:r,e:e}

高级分析

for s in persons
for r in knows
FILTER r._from==s._id
for e in persons
FILTER r._to == e._id
//return {s:s,r:r,e:e}
return {"_id": r._id,"_from": s._id,"_to": e._id,"s_s":s,"e_e":e
}

some code

for c in new_doc FILTER c.name == '张三'
//直接关系
for v in 1..1 OUTBOUND c new_edge
return c
//查对象与对象关系
for s in new_doc FILTER s.name == '张三'
//直接关系
for r in new_edgeFILTER r._from==s._idfor e in new_docFILTER r._to == e._id
return {s:s,r:r,e:e}

路径匹配

 鸟A → 鸟B → 鸟C
鸟A与鸟C为2级关系

arangodb 实战笔记相关推荐

  1. [转载]秀脱linux实战笔记linux-kernel-3.0.3实战篇

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 秀脱linux实战笔记linux-kernel-3.0.3实战片篇: QQ:     6 ...

  2. 机器学习实战笔记(Python实现)-04-Logistic回归

    转自:机器学习实战笔记(Python实现)-04-Logistic回归 转自:简单多元线性回归(梯度下降算法与矩阵法) 转自:人工神经网络(从原理到代码) Step 01 感知器 梯度下降

  3. Unity3D项目实战笔记(10):Unity3D编译IPA的PostEvents–节约时间利器

    最近,SDK支付等接入差不多了,就从Unity3D生成IPA (企业版License), 然,需要手动执行的PostEvents竟然多大10项+, 这些我默默的承受了1周时间,每次约浪费20分钟-额外 ...

  4. 云炬Qtpy5开发与实战笔记 2PyCharm添加QTDesinger扩展并创建第一个.ui文件

    1.配置使用QTDesigner扩展工具 在pycharm的项目配置中配置扩展工具,将QTDesigner加入其中: 2.在pycharm中打开QTDesigner 或者: 此时,我们就可以使用QTD ...

  5. 云炬Qtpy5开发与实战笔记 1开发第一个桌面应用Hello World

    云炬Qtpy5开发与实战笔记 0搭建开发环境(傻瓜式安装) 1.打开 Pycharm,选择 Create New Project,创建一个新项目 2.选择Pure Python表示创建一个纯Pytho ...

  6. mysql颠覆实战笔记(五)--商品系统设计(二):定时更新商品总点击量

    继续回到沈老师的MYSQL颠覆实战,首先回顾下上一节课的内容,请大家会看下上节课写的存储过程. 打开prod_clicklog表, 我们只要把日期(不含时分秒)的部分存在数据库中, 如果同一日期有相同 ...

  7. kaggle实战笔记_1.数据处理

    kaggle实战笔记_1.数据处理 数据处理的重要性比模型更重要 如果正负样本是1:100的话,直接拿去做建模,问题是非常大的,如果其评判标准为accuracy的话,如果把任何一个样本都判定为负样本的 ...

  8. 设置gradle远程仓库_有幸得到Alibaba内部Gradle实战笔记,趁双节来狂补

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的k ...

  9. tshark/wireshark/tcpdump实战笔记(更新中...)

    注意Wireshark表示意义: Source: 发送方IP Destination: 接收方IP Protoco: 协议 Length: 这里显示的物理层(Frame)数据长度,Frame层长度最长 ...

最新文章

  1. 强化学习(七) - 函数近似方法 - 随机梯度下降, 半梯度下降,及瓦片编码(Tile Coding)实例
  2. Webservice开发之xsd中开发list请求参数的接口
  3. 前端学习(1867)vue之电商管理系统电商系统之登录退出实现表单的重置
  4. VB案例:素数判断与合数分解
  5. WinCE 控制面板和驱动通信
  6. Python之np.where的使用
  7. 【Android】16.5 Android内置的系统服务
  8. 山东科技职业学院单招计算机,山东科技职业学院单招
  9. Zookeeper C API 指南三(回调函数)
  10. 数据同步一致性_微服务架构:利用事件驱动实现最终一致性
  11. nodejs脚本后台运行
  12. 电脑右键新建没有文本文档解决办法
  13. 《居里夫人自传》的读后感作文1700字
  14. C语言pow函数的精度问题
  15. 爱河许云上计算机乐谱,爱河简谱(歌词)-神马乐团演唱-桃李醉春风记谱
  16. 硬件模拟大师_用机器人做咖啡,“智咖大师”这样升级新零售
  17. D-OJ刷题日记:一元多项式的运算 题目编号:463
  18. Uva 1151 Buy or Build 二进制枚举+最小生成树
  19. IDEA插件系列(89):Copy/Paste Stack插件——复制/粘贴工具栈
  20. Python第3章 流程控制

热门文章

  1. easyswoole默认访问html,详解PHP框架EasySwoole
  2. 小程序 getApp扫码体验获取不到值
  3. 【华人学者风采】张殷乾 南方科技大学
  4. JS中的全等和不全等、等于和不等于
  5. js生成不重复的随机数
  6. 从今天开始全身心投入工作
  7. 1003 我要通过(20 分)
  8. 针对struts2中非法字符问题解决
  9. 神策数据与京东科技达成战略合作,共推数字化营销解决方案
  10. 左程云——归并排序和快速排序