我有一个表格,其中包含Lobbys基本上只是派对房间,它有一个成员数组和一个消息数组,这是一个例子:{"id": "a77be9ff-e10f-41c1-8a4c-66b5a55d823c" ,"members": ["Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt" ,"Gacnt"] ,"messages": [ ]}现在,当用户 websocket 连接到Lobby它时,它会将他们的用户名添加到Members列表中,我正在尝试这样做,以便当用户离开时Party它会从成员列表中删除它们,我想出了这个:r.db("gofinder").table("Lobbys").get("a77be9ff-e10f-41c1-8a4c-66b5a55d823c")("members").update({ members: r.db("gofinder").table("Lobbys").get("a77be9ff-e10f-41c1-8a4c-66b5a55d823c")("members").ne("Gacnt")})但我收到错误:e: Could not prove argument deterministic. Maybe you want to use the non_atomic flag? in:r.db("gofinder").table("Lobbys").get("a77be9ff-e10f-41c1-8a4c-66b5a55d823c")("members").update({"members": r.db("gofinder").table("Lobbys").get("a77be9ff-e10f-41c1-8a4c-66b5a55d823c")("members").ne("Gacnt")})^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^但显然有一个错误,我是 Rethink 的新手,所以我不确定如何做到这一点,除非我应该选择数组,自己修改它,然后将新数组放回去。现在我正在使用这个解决方案,但我觉得它可能更简单,特别是如果我可以让它ReQL修改数组而不是手动完成
1 回答
倚天杖
TA贡献1828条经验 获得超3个赞
你可能想要这样的东西:
r.db('gofinder').table('Lobbys').get(ID).update(function(row) {
return {members: row('members').setDifference(['Gacnt'])};
})
- 1 回答
- 0 关注
- 219 浏览
添加回答
举报
0/150
提交
取消