如何在后台将10名用户更新为获胜者



我有一个用例,我必须从100名参与者中生成10名获胜者,并在janusgraph中更新他们。我使用math.ceil(math.random(((方法生成了赢家,并将他们的Id保存在一个数组中(比如winners[10](。这个winners[11]数组作为主体发送,我将其作为前端的查询参数发送。这是一个后终点。我只需要给获胜者加500分,并检索他们的数据。所以我尝试的是

g.V().hasLabel('Game').has('active', true).
as('game').
outE('participated').inV().hasLabel('User').
has('userdId', id).as('winner').
addE('won').property('points', 500).
to('game').
select('winner').
valueMap()

以上查询仅针对一个用户执行。我想让我的查询对所有用户都有效。我对repeat((、loop((、iterate((步骤做了一些研究,但没有选择。结果应该是一个包含10个获胜者数据的数组。

提前感谢!

您可以使用within:通过多个id过滤顶点

g.V().hasLabel('Game').has('active', true).
as('game').
outE('participated').inV().hasLabel('User').
has('userdId', within(1, 2, 3)).as('winner').
addE('won').property('points', 500).
to('game').
select('winner').
valueMap()

示例:https://gremlify.com/9j071eajda4

最新更新