Firestore createId() id 不按时间顺序排列

rha*_*ing 5 firebase google-cloud-firestore

在 Firebase 实时数据库中,自动生成 ids 会按创建时间顺序保留所有条目。Firestore 似乎是完全随机的。有没有办法像在数据库中生成 id 一样创建 id?或者我是否需要传递创建时间戳并按此排序?

Fra*_*len 5

来自关于添加数据的 Firestore 文档

重要提示:与 Firebase 实时数据库中的“推送 ID”不同,Cloud Firestore 自动生成的 ID 不提供任何自动排序。如果您希望能够按创建日期对文档进行排序,则应将时间戳存储为文档中的字段。

因此,如果您想按时间顺序排序,您确实需要向文档添加时间戳字段。您可以为此使用服务器端时间戳,如有关更新数据的 Firestore 文档中所示:

docRef.update({
  timestamp: firebase.firestore.FieldValue.serverTimestamp()
});
Run Code Online (Sandbox Code Playgroud)

这样您就可以在控制台和您自己的查询中按时间顺序排序。