如何在后端将 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()
我有一个用例,我必须从 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
:
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()