Firebase 按时间获取自动Id

Firebase 按时间获取自动Id,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,在我的应用程序中,我使用Firebase的childByAutoId()(swift)或.push()(web)以以下格式插入一些数据: - events - $autoId - time: - name: - $autoId - time: - name: 其中,$autoId是Firebase随机生成的密钥time是推送数据时的历元时间 我想允许用户修改每个插入条目的时间。但是,我想让events下的节点按照它们的键和时间进行排序

在我的应用程序中,我使用Firebase的
childByAutoId()
(swift)或
.push()
(web)以以下格式插入一些数据:

- events
   - $autoId
      - time:
      - name:
   - $autoId
      - time:
      - name:
其中,
$autoId
是Firebase随机生成的密钥
time
是推送数据时的历元时间

我想允许用户修改每个插入条目的
时间
。但是,我想让
events
下的节点按照它们的键和时间进行排序,Firebase在使用
.push()时自然会这样做。但是如果他们修改了
时间
,使其实际顺序不同,则条目将无法正确排序


是否有一种方法可以通过修改的
时间
生成id,这样如果将其插入
事件
中,它的顺序就正确了?这样,我就可以在复制数据的同时删除旧条目并插入新条目。

因为Firebase推送ID的算法有很好的文档记录,所以您可以很容易地修改函数以根据特定的时间戳生成它们

但是我建议保留必要的值作为每个子节点的命名属性。如果需要能够按创建和修改时间进行排序,请保留两个单独的属性。这样,您就不必依赖推送ID的行为,而是使用更显式命名的属性来完成所需的操作