如何在后端将 10 个用户更新为获胜者?

How to update 10 users as winners in backend?

我有一个用例,我必须从 100 名参与者中选出 10 名获胜者并在 janusgraph 中更新它们。我已经使用 math.ceil(math.random()) 方法生成了赢家,并将他们的 ID 保存在一个数组中(比如赢家 [10])。这个赢家 [10] 数组作为主体和游戏发送我' d 作为来自前端的查询参数。这是一个 post 终点。我只需要为获胜者添加 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() 步骤做了一些研究,但没有发现 option.And 结果应该是一个包含 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