在集合内创建随机文档时,是否可以对集合进行排序?

时间:2019-12-16 19:16:45

标签: firebase flutter google-cloud-firestore

在集合内创建随机文档时,有没有一种使用orderBy()的方法,以便新创建的文档始终位于前一个文档之后。

在我的情况下,该集合称为“聊天”,文档是随机创建的,我循环浏览它们以显示消息。我想要一个命令,其中新创建的文档将始终位于前一个文档之后。我该如何实现?

firestore
    .collection(InterviewsInformation)
    .document(InterviewID)
    .collection('Chat')
    .add({
  'MessageSender': MessageSender,
  'MessageText': messageText,
});

我还尝试使用时间戳对集合进行排序

firestore
    .collection(InterviewsInformation)
    .document(InterviewID)
    .collection('Chat')
    .add({
  'MessageSender': employer['EmployerName'],
  'MessageText': messageText,
  'CreatedAt': FieldValue.serverTimestamp()
});
firestore
    .collection(InterviewsInformation)
    .document(InterviewID)
    .collection('Chat').orderBy("CreatedAt", descending: true) ;

仍然无法正常显示消息,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

事实证明,不会在Cloud Firestore中随机创建文档,但是您在流构建器中的查询可以帮助按排序顺序显示它们

try:
                    exitstatus = func_timeout(self.tqm_timeout, tqm.run, args=(play,))
                except FunctionTimedOut:
                    msg = "tqm.run could not complete within {} seconds and was terminated.".format(self.tqm_timeout)
                    raise Exception(msg)
                except Exception as e:
                    raise Exception('exception in tqm was {}'.format(e))