如何使用FirebaseStore时间戳添加服务器时间?

时间:2017-11-08 06:12:45

标签: android firebase google-cloud-firestore

如果我使用的是Firebase数据库,我可以将服务器时间设置如下:

user.put("time", ServerValue.TIMESTAMP);

然后更新它。

但如果我使用与 FireStore相同的,那么它就不会成功,我也不需要在我的 gradle 中实现firebase-data-base这个目的。

我可以看到ServerTimestamp.class FireStore 相关,但我不知道如何使用它。

提前致谢。

1 个答案:

答案 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