如何为修改 Firebase object/node+ 子树时添加时间戳?
How to add a timestamp for when the Firebase object/node+subtree was modified?
我想创建一个字段来存储上次更改对象的时间戳。因此,如果修改了对象的任何属性(也称为子树),则能够将时间戳字段设置为当前时间。
Firebase 似乎没有办法跟踪上次更新对象的时间。有没有人真正实现了一种以优雅的方式做到这一点的方法?
您可以轻松跟踪节点何时被修改
root
users
some user stuff
messages
some messages
places_to_eat
some places to eat
timestamps
users: a timestamp
messages: a timestamp
places_to_eat: a timestamp
当数据写入用户节点时,更新 timestamps node:
// iOS / ObjectiveC
Firebase *usersTimeStampsRef = [timeStampsRef childByAppendingValue:"users"];
[usersTimeStampsRef setValue:kFirebaseServerValueTimestamp];
// Android / Java
Firebase usersTimeStampsRef = usersTimeStampsRef.child("users");
usersTimeStampsRef.setValue(ServerValue.TIMESTAMP);
(你也可以使用 timestamps/users)
或者,花点心思,将时间戳保留在节点本身内
root
users
timestamp: a timestamp
user_list
user_1
user_2
我有一些 ObjC 对象是 class 处理数据读写的对象,它们在修改时自动更新时间戳。
例如,我有一个用户 class。
User aUser = [UserClass new]
[aUser createUser:"Jay"]
当调用 createUser 方法时,在 class 中设置用户并写出用户名并相应地更新时间戳。它非常无缝且维护成本低。
实际上,我创建的父 class 完成了时间戳的繁重工作和写入,因此与 Firebase 交互的所有子class 都继承了该功能。
我想创建一个字段来存储上次更改对象的时间戳。因此,如果修改了对象的任何属性(也称为子树),则能够将时间戳字段设置为当前时间。
Firebase 似乎没有办法跟踪上次更新对象的时间。有没有人真正实现了一种以优雅的方式做到这一点的方法?
您可以轻松跟踪节点何时被修改
root
users
some user stuff
messages
some messages
places_to_eat
some places to eat
timestamps
users: a timestamp
messages: a timestamp
places_to_eat: a timestamp
当数据写入用户节点时,更新 timestamps node:
// iOS / ObjectiveC
Firebase *usersTimeStampsRef = [timeStampsRef childByAppendingValue:"users"];
[usersTimeStampsRef setValue:kFirebaseServerValueTimestamp];
// Android / Java
Firebase usersTimeStampsRef = usersTimeStampsRef.child("users");
usersTimeStampsRef.setValue(ServerValue.TIMESTAMP);
(你也可以使用 timestamps/users)
或者,花点心思,将时间戳保留在节点本身内
root
users
timestamp: a timestamp
user_list
user_1
user_2
我有一些 ObjC 对象是 class 处理数据读写的对象,它们在修改时自动更新时间戳。
例如,我有一个用户 class。
User aUser = [UserClass new]
[aUser createUser:"Jay"]
当调用 createUser 方法时,在 class 中设置用户并写出用户名并相应地更新时间戳。它非常无缝且维护成本低。
实际上,我创建的父 class 完成了时间戳的繁重工作和写入,因此与 Firebase 交互的所有子class 都继承了该功能。