码:
CollectionReference reference = Firestore.instance.collection("users");
Map<String, dynamic> dummyData = {};
List elements = List.generate(5, (index) => index);
Future.forEach(elements, (element) async {
dummyData["key"] = "$element";
await reference.add(dummyData);
});
如您所见,每次添加我都在等待。但是我在Firebase控制台上看到的数据是按以下顺序排列的:
randomId:
key: 3
randomId:
key: 4
randomId:
key: 1
randomId:
key: 0
randomId:
key: 2
但是应该是:
randomId:
key: 4
randomId:
key: 3
randomId:
key: 2
randomId:
key: 1
randomId:
key: 0
谁能告诉我我在做什么错,我是Flutter和Firebase的新手。
编辑:
我不是在获取数据,而是在服务器上写入数据。数据应该按照我在代码中编写的顺序来编写,不是吗?
您在Firebase控制台中看到的文档顺序基于添加文档时给定的唯一文档ID。由于您使用的是add(),因此SDK为其提供了随机文档ID。因此,文档将以随机顺序出现在控制台中。这是预料之中的。这里没有错。
当您查询文档时,如果希望它们以其他顺序排列,则必须在查询中指定。听起来您可以使用该key
字段。但是,您应该存储一个数字而不是一个字符串,这样,如果您想要一个升序的数字排序,则排序顺序才有意义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句