firebase - 地图火库中的orderby数组如何颤动?
问题描述
return StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection("posting")
.where("authorId", isEqualTo: widget.uid)
//.orderBy("datetime")
.snapshots(),
builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) {
return Container();
}
return ListView.builder(
itemCount: snapshot.data!.size,
physics: BouncingScrollPhysics(),
itemBuilder: (context, index) {
//return Container();
return ListView.builder(
shrinkWrap: true,
physics: BouncingScrollPhysics(),
itemCount: snapshot.data!.docs[index["replyCount"],
itemBuilder: (context, count) {
return StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection('users')
.where("uid",
isEqualTo: snapshot.data!.docs[index]["reply"]
[count]["replyId"])
.snapshots(),
builder: (context, replyUser) {
例如,用户有该用户写的一些帖子。其他一些用户回复他的帖子。然后我想显示正在写帖子的用户可以查看回复警报。按回复时间排序
解决方案
这不起作用:
.orderBy("reply.datetime")
reply.datetime
一方面,您的文档中没有字段。只有reply[0].datetime
,但我怀疑您可以指定这样的数组项。
您尝试做的常见用例是按照文档的最新回复时间戳对文档进行排序。对于这种情况,惯用的方法是将最新回复的时间戳存储为文档中的顶级字段(例如latestReplyDateTime
)并在该字段上排序。
推荐阅读
- c++ - 在模板类中设置动态构造函数参数的方法
- r - 尝试在 R 中捕获 SQL 语句
- typescript - 具有联合类型(字符串和函数)的接口索引签名
- spring - 用于注入静态变量的 Lombok setter
- c# - 如何使用 LINQ 进行分组然后平均
- jwt - 如何使用 Oauth2 使 API 网关无状态以进行身份验证/授权过程?
- javascript - jQuery click 在点击时不显示微调器
- angular - Service Worker 注册失败——在 Angular 9 中实现 Universal Prerendering 后 PWA 不工作
- django - 最初在 django 内联表单集中设置不同的外键值
- python - 为 Python 设置 virtualenvwrapper 的步骤出现问题