我试图从firestore数据库返回按ID排序的数据。更新一个条目后,返回的数据中有一条记录不排序。更新第二个条目以确认问题后,再次返回的数据中有两条记录不排序。ID是数据库中的一个数字,因此应该按数字顺序排列。
下面是代码:
Future getKegIds() async {
await FirebaseFirestore.instance.collection("kegs").orderBy("id", descending: false ).get().then(
(snapshot) => snapshot.docs.forEach(
(document) {
print(document.reference);
kegIds.add(document.reference.id);
},
),
);
}
结果如下:
- Flutter :(桶/桶:1)
- Flutter :(桶/桶:2)
- Flutter :(桶/桶:3)
- Flutter :(桶/桶:4)
- Flutter :(桶/桶:5)
- Flutter :(桶/桶:6)
- Flutter :(桶/桶:7)
- Flutter :(桶/桶:8)
- Flutter :(桶/桶:9)
- Flutter :(桶/桶:10)
- Flutter :(桶/桶:11)
- Flutter :(桶/桶:15)
- Flutter :(桶/桶:16)
- Flutter :(桶/桶:12)
- Flutter :(桶/桶:13)
15号和16号桶坏了。
1条答案
按热度按时间ctehm74n1#
我认为是类似于
orderBy(FieldPath.documentId)
的东西,orderBy('id')
是按文档中的一个字段排序的,该字段称为id
。