繁体   English   中英

Arango查询,使用边缘计数进行收集

[英]Arango query, collection with Edge count

对Arango来说真的很新,我正在尝试它,所以请耐心等待。 我有一个提要集合,每个提要都可以被用户喜欢

[用户] --- --- likes_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

像这样吗

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

所以最后我找到了解决方案。 我必须创建一个图形并遍历它。 最终结果如下
送给users_feed
SORT创建日期
FILTER f.author == @author_id
LIMIT @ start_index,@ end_index
收集提要= f
LET inboundEdges = LENGTH(FOR v IN 1..1 INBOUND feed GRAPH'likes_graph'RETURN 1)
返回{
提要:提要
,喜欢:inboundEdges
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM