我试图从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);
},
),
);
}
,结果如下:
- 颤振:(桶/桶:1)
- 颤振:(桶/桶:2)
- 颤振:(桶/桶:3)
- 颤振:(桶/桶:4)
- 颤振:(桶/桶:5)
- 颤振:(桶/桶:6)
- 颤振:(桶/桶:7)
- 颤振:(桶/桶:8)
- 颤振:(桶/桶:9)
- 颤振:(桶/桶:10)
- 颤振:(桶/桶:11)
- 颤振:(桶/桶:15)
- 颤振:(桶/桶:16)
- 颤振:(桶/桶:12)
- 颤振:(桶/桶:13)
15号和16号桶坏了。
我认为类似于orderBy(FieldPath.documentId)
,orderBy('id')
是按文档中称为id
的字段排序的