arangodb操作

Joining together

MERGE(),collection之间的document关联

在这里插入图片描述

  • 案例

假如现在让Characters的traits字段和Traits中的数据相关联

  • step1 各自创建集合
Characters

在这里插入图片描述

Traits

在这里插入图片描述

  • step2 添加数据
LET data = [
    { "name": "Robert", "surname": "Baratheon", "alive": false, "traits": ["A","B","D"] },
    { "name": "Jaime", "surname": "Lannister", "alive": true, "age": 36, "traits": ["A","E","B"] },
    { "name": "Catelyn", "surname": "Stark", "alive": false, "age": 40, "traits": ["D","B","A"] },
    { "name": "The High Sparrow", "alive": true, "traits": ["A","B","D","E"] }
]
FOR d IN data
    INSERT d INTO Characters
let data = [
    { "_key": "A", "en": "strong", "de": "stark" },
    { "_key": "B", "en": "polite", "de": "freundlich" },
    { "_key": "D", "en": "loyal", "de": "loyal" },
    { "_key": "E", "en": "weak", "de": "schwach" }
]
FOR d IN data
    INSERT d INTO Traits
  • step3 只关注traits字段 与 en关联,并且让其显示
FOR c IN Characters
    RETURN MERGE(c, { traits: DOCUMENT("Traits", c.traits)[*].en })
  • step4 traits字段和en,de关联
FOR c IN Characters
RETURN MERGE(c, { traits: (for t in DOCUMENT("Traits", c.traits) RETURN {en:t.en,de:t.de})} )
补充
  • It can be used to return a static value, such as a string:

return "hello arangodb!"

  • 删除两个文档中所有的文件,并返回true
LET r1 = (FOR u IN teacher  REMOVE u IN teacher)
LET r2 = (FOR u IN student REMOVE u IN student)
RETURN true
  • 降序 (我们可以用DESC降序来反转排序顺序:)
FOR c IN Characters
    SORT c.name DESC
    LIMIT 10
    RETURN c.name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值