在应用命令之前,操纵存储在Firebase文档字段中的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在应用命令之前,操纵存储在Firebase文档字段中的值相关的知识,希望对你有一定的参考价值。

在我的Firebase Firestore中,我在一个集合中有大量文档,每个文档都有一个名为bookTime的字段,该字段以String格式存储日期。格式为dd MM yyyy HH,因此我们无法按降序对其进行排序,因此无法获得有意义的列表,且最新文档位于顶部。我们需要它才能正常工作的格式为yyyy MM dd HH。这是我的查询:

mQuery = mQuery.orderBy("bookTime", Query.Direction.DESCENDING);

我应该进行什么更改,以便实际上可以得到列表,并且文档的最新bookTime位于顶部?

答案

我应该进行哪些更改,以便实际上可以得到清单,并且文档的最新bookTime放在顶部?

首先,不要使用字符串来存储日期。建议使用Date对象。 DateFirestore supported data type

有关如何存储日期的更多信息,请参见以下帖子中的答案:

一旦正确存储了日期,该查询就可以正常工作。


但是,如果您坚持将日期和时间存储为字符串,那么您可以选择以一种可按字典顺序和时间顺序对它们进行排序的格式存储它们。

ISO 8601格式为:

20200329T184525. 

太好了,这是我当前在回答这个问题。

March 29, 2020 6:45:25 PM UTC

以上是关于在应用命令之前,操纵存储在Firebase文档字段中的值的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法批量读取firebase文档

Firebase 存储病毒检查

如何从输入字段将图像上传到 Firebase 云存储?

Flutter Firebase - 从文档中获取特定字段

Flutter firebase setData()函数在完成异步函数之前将空值分配给字段

无法从 Firestore 文档中删除字段 (Flutter)