将serverValue.timestamp写为Firebase中的子项

时间:2018-02-20 12:45:50

标签: swift firebase firebase-realtime-database

如何将serverValue.timestamp()作为Firebase中的单独子项编写? 我希望能够写出这样的东西:

-country
---位置
------ serverValue.timestamp()
---------姓名:彼得
 ---------年龄:30
 ---------上课:物理

当我尝试这个时,它失败了:

self.ref?.child(country).child(location).child(serverValue.timestamp()).updateChildValues(["Name:" : name, "Age:" : age, "Class:" : class])    

我似乎无法做对......

1 个答案:

答案 0 :(得分:1)

根据docs timeStamp的占位符,数据库在其中识别并放入当前的servertime。这不适用于数据库中的字符串。数据库中的字符串是文件夹,文档,集合,键等的名称。因此,您调用的方法仅适用于与键组合的值,用于以JSON格式存储数据。

如果您真的想在没有用户伪造当前时间的情况下使用当前时间戳,我认为您唯一能做的就是:

  1. 将数据写入临时文件夹
  2. 触发侦听该文件夹/文档的云函数
  3. 将数据写回首选文件夹/文档,而文件夹/文档的名称为Date.now()(javascript函数)
  4. 否则你总是可以使用Swift的当前时间戳:How to get 18-digit current timestamp in Swift?