假设我的用户正在访问世界各地,并且数据库如下所示,最好的做法是将用户从旧地方删除,然后将其转移到新地方(这样,该唯一用户只能一次在一个地方)?
第一个用户位于location A
:
database
|
places
|___location A
| |___user1: "exact coordinates"
|
|___location B
|___user2: "exact coordinates"
这就是我希望将user1
移到location B
之后的样子:
database
|
places
|___location B
|___user1: "exact coordinates"
|___user2: "exact coordinates"
如何将user1
从location B
移到location A
?
我很难找到正确的语法来简单地将(唯一标识的)user1
从他的旧地方删除到他的新地方。
答案 0 :(得分:2)
使用当前数据库结构时,要更改用户的位置,请执行3个操作:
读取用户的当前位置:
undefined
将当前位置复制到新位置:
database -> places -> location A -> user1
删除旧位置:
database -> places -> location B -> user1
这可以通过使用单个更新操作来解决。在这种情况下,您应该考虑如下更改数据库结构:
database -> places -> location A
为了更新用户的位置,您只应像下面的代码行那样更新这两个属性:
Firebase-root
|
--- users
|
--- uid
|
--- lat: 48.856151
|
--- long: 2.298115