ArangoDb学习笔记————AQL tutorial(三)

Oracle里面还经常用到的就是表与表之间的组合查询,arangoDb在讲解这里的用法的时候,新增了一个Traits,来关连Charaters的traits属性。

FOR c IN Characters
    RETURN DOCUMENT("Traits", c.traits)

FOR c IN Characters
    RETURN DOCUMENT("Traits", c.traits)[*].en

FOR c IN Characters
  RETURN MERGE(c, {
    traits: (
      FOR key IN c.traits
        FOR t IN Traits
          FILTER t._key == key
          RETURN t.en
    )
  })

看第一个语句,for循环拿到Charaters的每一条记录c,然后用c的traits属性去Traits查对应的记录,因为之前说过DOCUMNET函数支持查多条记录返回一个数组。但是其实这里有一个隐性的条件,因为Document函数其实用的是_key属性去查的,也就是说traits属性里面的值必须要与Traits的_key属性能关联上;

第二个语句,跟第一个语句类似,不同的是只返回Traits里面每一条记录的en属性;

第三个语句,就更能看出上面说的那个隐性的条件了,只是多用了一个merge函数;另外要注意的就是c.traits属性其实是个数组,所以多了一层for循环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值