ArangodbAQL连接、合并、嵌入三个或更多的嵌套集合。
创始人
2024-09-12 00:30:49
0

ArangoDB AQL允许我们在一次查询中连接、合并、嵌入多个集合,无论这些集合是否嵌套。

以下是一个示例,其中我们连接了三个集合:“users”、“orders”和“order_items”:

FOR u IN users
  LET os = (
    FOR o IN orders
      FILTER o.user_id == u._id
      LET oi = (
        FOR i IN order_items
          FILTER i.order_id == o._id
          RETURN i
      )
      RETURN MERGE(o, {items: oi})
  )
  RETURN MERGE(u, {orders: os})

在这个查询中,我们首先循环遍历“users”集合中的所有文档。然后,我们使用“LET”子句在“orders”集合中查找与该用户相关的订单,并向每个订单中添加“order_items”集合的项。最后,我们使用“MERGE”函数将所有数据合并在一起,并将它们作为结果返回。

请注意,我们使用了多个嵌套的子查询,并使用“LET”声明将结果存储在变量“os”和“oi”中。最后,我们再次使用“MERGE”函数合并所有结果。

这个查询将返回如下的结果:

[
  {
    "name": "John",
    "age": 30,
    "orders": [
      {
        "order_id": "1",
        "user_id": "1",
        "total": 100,
        "items": [
          { "item_id": "1", "name": "item1", "price": 50 },
          { "item_id": "2", "name": "item2", "price": 50 }
        ]
      },
      {
        "order_id": "2",
        "user_id": "1",
        "total": 200,
        "items": [
          { "item_id": "3", "name": "item3", "

相关内容

热门资讯

9分钟了解!wepoke(透视... 一、wepoke简介了解软件请加微:136704302wepoke是一款在线扑克游戏平台,玩家可以在...
每日必备(Wepoke私人局)... 每日必备(Wepoke私人局)外挂透明挂辅助神器(透视)wepoke教程(2024已更新)(哔哩哔哩...
重大消息!约局吧辅牌器(pok... 重大消息!约局吧辅牌器(pokerrrr开挂)外挂透视辅助插件(透视)分享教程(2020已更新)(哔...
一分钟攻略!杭州都莱有挂,雀神... 一分钟攻略!杭州都莱有挂,雀神广东麻雀小程序怎么赢,科技教程(有挂神器)是一款可以让一直输的玩家,快...
最新研发!gg扑克有赢的吗(辅... 您好,gg扑克这款游戏可以开挂的,确实是有挂的,需要了解加微【487309276】很多玩家在这款游戏...
推荐几款新版(wepoke实锤... 推荐几款新版(wepoke实锤)外挂透明挂辅助app(透视)德州教程(2021已更新)(哔哩哔哩)科...
一分钟攻略!山西大唐麻将有挂,... 一分钟攻略!山西大唐麻将有挂,黄冈麻将有挂,新版2024教程(确实有挂)1、每个玩家都可以进行使用,...
分享实测!wepoke软件还可... 分享实测!wepoke软件还可以用,Wepoke安卓其实真的有挂,曝光教程(有挂攻略)-哔哩哔哩;值...
实操分享!wepoke辅助透(... 实操分享!wepoke辅助透(辅助挂)软件透明挂辅助软件(2025已更新)(哔哩哔哩)1、在wepo...
透明科技(wpk逻辑)外挂透明... 透明科技(wpk逻辑)外挂透明挂辅助APP(辅助挂)普及教程(2023已更新)(哔哩哔哩);精心打造...