Firebase 在集合中创建随机文档时,是否有方法对集合进行排序?

Firebase 在集合中创建随机文档时,是否有方法对集合进行排序?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,在集合中创建随机文档时,是否有方法使用orderBy(),以便新创建的文档始终位于前一个文档之后 在我的例子中,这个集合被称为“聊天”,文档是随机创建的,我通过循环来显示消息。我想要一个订单,新创建的文档将始终位于前一个文档之后。我如何做到这一点 firestore .collection(InterviewsInformation) .document(InterviewID) .collection('Chat') .add({ 'MessageSende

在集合中创建随机文档时,是否有方法使用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) ;

仍然不起作用消息随机出现,有人能帮忙吗?

结果表明,文档不会在cloud firestore中随机创建,但您在stream builder中的查询可以帮助按排序顺序显示它们

stream: firestore
          .collection(InterviewsInformation)
          .document(InterviewID)
          .collection('Chat').orderBy('CreatedAt')
          .snapshots(),

添加时间戳应该是可行的,并且是您的最佳选择。它到底做了什么与您期望的不同?它随机创建文档,而不是给它们一个顺序。使用timestamp字段的查询应该按顺序提供它们。如果这是您所期望的,那么它们在控制台中自然不会显示为有序。