如果我使用的是Firebase数据库,我可以将服务器时间设置如下:
user.put("time", ServerValue.TIMESTAMP);
然后更新它。
但如果我使用与 FireStore相同的,那么它就不会成功,我也不需要在我的 gradle 中实现firebase-data-base
这个目的。
我可以看到ServerTimestamp.class
与 FireStore 相关,但我不知道如何使用它。
提前致谢。
答案 0 :(得分:1)
根据文档,它将是这样的:
@ServerTimestamp Date time;
如果null
它将具有服务器生成的时间戳,那么您就不需要为其设置值。
价: 用于标记要使用服务器时间戳填充的日期字段的注释。如果正在编写的POJO对于@ ServerTimestamp-annotated字段包含null,则它将替换为服务器生成的时间戳。 (https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/ServerTimestamp)
修改强>
或直接使用map
类型对象时:
DocumentReference docRef = db.collection("objects").document("some-id");
// Update the timestamp field with the value from the server
Map<String,Object> updates = new HashMap<>();
updates.put("timestamp", FieldValue.serverTimestamp());
价: https://firebase.google.com/docs/firestore/manage-data/add-data#update_fields_in_nested_objects