【问题标题】:Arango query, collection with Edge countArango 查询,带有边缘计数的集合
【发布时间】:2018-06-11 07:48:16
【问题描述】:

对 Arango 来说真的很陌生,我正在试验它,所以请多多包涵。我有一个提要集合,每个提要都可以被用户喜欢

[user]---likes_feed--->[feed]。

我正在尝试创建一个查询,该查询将返回其作者的提要,并将喜欢的数量添加到结果中。这是我到目前为止所拥有的,它似乎可以工作,但它只返回至少有 1 个类似的提要(提要和用户之间存在边缘) 以下是我的查询

FOR f IN feed  
SORT f.creationDate  
FILTER f.author == @user_key 
LIMIT @start_index, @end_index
FOR x IN INBOUND CONCAT('feed','/',f._key) likes_feed 
OPTIONS {bfs: true, uniqueVertices: 'global'} 
COLLECT feed = f WITH COUNT INTO counter  
RETURN {   
'feed':feed,
likes: counter  
}

这是一个结果示例

[
"feed":{
"_key":"string",
"_id":"users_feed/1680835", 
"_rev":"_W8zRPqe--_",
"author":"author_a",
"creationDate":"98879845467787979",
"title":"some title",
"caption":"some caption'
},
"likes":1
]

如果一个提要没有喜欢,该提要没有入站边缘,我如何将喜欢计数返回为 0

这样的?

[ “喂养”:{ "_key":"字符串", "_id":"users_feed/1680835", "_rev":"_W8zRPqe--_", “作者”:“作者_a”, “创作日期”:“98879845467787979”, "title":"某个标题", “标题”:“一些标题” }, “喜欢”:0 ]

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    所以我终于找到了解决方案。我必须创建一个图表并遍历它。最终结果如下
    FOR f IN users_feed
    排序 f.creationDate
    过滤器 f.author == @author_id
    限制@start_index、@end_index
    收集饲料 = f
    LET inboundEdges = LENGTH(FOR v IN 1..1 INBOUND feed GRAPH 'likes_graph' RETURN 1)
    返回 {
    饲料:饲料
    ,喜欢:inboundEdges
    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-04
      • 2015-04-08
      • 2022-11-14
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      相关资源
      最近更新 更多