gpt4 book ai didi

firebase - Flutter如何对集合中的文档进行排序,每个字段都对每个文档编号

转载 作者:行者123 更新时间:2023-12-03 03:21:28 25 4
gpt4 key购买 nike

我的问题是,当每个文档都有一个名为"Index"的字段(从1到10)时,如何对集合中的文档进行排序。我认为orderBy("Index", descending: false)应该将集合中的文档从1到10进行升序排序。这是我的代码,当我调用orderBy()时,Cloud Firestore中文档的显示顺序不正确,并且根本不以任何顺序显示文档,无论是降序还是升序...谢谢您的帮助我真的很感激!

if (petAge >= 42 && petAge <= 56) {
await petRecordPath.add({
'Completed': false,
'Start Due Date': startDateMultiBooster,
'End Due Date': endDateMultiBooster,
'Display Range': displayMessageMultiBooster,
'Importance': 'Vital',
'Vaccination': 'Puppy Multi Vaccine (DHPP)',
'Index': 1,
}).then((value) async {
await petRecordPath.add({
'Completed': false,
'Start Due Date': startDateMultiBooster,
'End Due Date': endDateMultiBooster,
'Display Range': displayMessageMultiBooster,
'Importance': 'Recommended',
'Vaccination': 'Leptospirosis Vaccine',
'Index': 2,
}).then((value) async {
await petRecordPath.add({
'Completed': false,
'Start Due Date': startDateMultiBooster,
'End Due Date': endDateMultiBooster,
'Display Range': displayMessageMultiBooster,
'Importance': 'Recommended',
'Vaccination': 'Deworm 1',
'Index': 3,
});
});
}).whenComplete(() {
petRecordPath.orderBy('Index', descending: false);
});
}

在Firebase控制台中的外观如下:
第一份文件:
enter image description here
第二份文件:
enter image description here
第三份文件:
enter image description here
最后,通过控制台本身的内置排序功能:
enter image description here

最佳答案

Firestore控制台不会自动订购文档,并且不会受到代码进行的orderBy()调用的任何影响。实际上,这意味着任何用户都可以进行API调用,从而改变控制台显示数据的方式,这听起来是个坏主意。
仅当您在控制台中指定排序顺序时(如上一个屏幕截图中所示),它才会以该顺序显示文档。
这类似于API的工作方式:除非您在阅读文档时指定排序顺序,否则将以未定义的顺序检索它们。并且您的petRecordPath.orderBy('Index', descending: false)将确保您的代码按指定顺序读取文档。

关于firebase - Flutter如何对集合中的文档进行排序,每个字段都对每个文档编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62732534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com