Flutter和火力基地:为什么返回的数据不按id排序?

hvvq6cgz  于 2023-01-09  发布在  Flutter
关注(0)|答案(1)|浏览(89)

我试图从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号桶坏了。

ctehm74n

ctehm74n1#

我认为是类似于orderBy(FieldPath.documentId)的东西,orderBy('id')是按文档中的一个字段排序的,该字段称为id

相关问题