Arango真的很新,我正在试验它,所以请耐心等待。我有一个Feed集合,每个Feed都可以被用户喜欢
[用户] --- --- 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
]
如果Feed没有喜欢,没有边缘入该Feed,如何将喜欢的数量计为0
这样的东西?
[ "feed":{ "_key":"string", "_id":"users_feed/1680835", "_rev":"_W8zRPqe--_", "author":"author_a", "creationDate":"98879845467787979", "title":"some title", "caption":"some caption' }, "likes":0 ]
答案 0 :(得分:1)
所以最后我找到了解决方案。我不得不创建一个图表并遍历它。最终结果如下
FOR f IN users_feed
排序f.creationDate
FILTER f.author == @ author_id
LIMIT @start_index,@ end_index
收集饲料= f
LET inboundEdges = LENGTH(FOR IN IN 1..1 INBOUND feed GRAPH'like_graph'RETURN 1)
返回{
饲料:饲料
,喜欢:inboundEdges
}