Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带时间条件的Firestore按字段排序

带时间条件的Firestore按字段排序
EN

Stack Overflow用户
提问于 2020-05-15 16:02:12
回答 1查看 64关注 0票数 0

我在flutter应用程序中使用firestore。我收集了一些帖子。每个帖子都有一些赞,以及一个创建日期。我想得到最喜欢的帖子在过去的一周,最后一天,上个月…所以我必须在时间上做一个isGreaterThanOrEqualTo,然后按like排序。但这是不可能的,因为我不能对两个字段进行排序。实际上,为了解决这个问题,我在我的帖子文档3字段中添加了:“月”(月份编号),“周”(周编号),“天”(日编号)。

我的查询如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Query query = firestore.collection("post");
query = query.where("month", isEqual: 3);
query = query.orderBy("like", descending: true);
QuerySnapshot data = await queryResult.getDocuments();

它工作得很好。但我想要的是过去30天内最受欢迎的帖子,而不是一个具体的月份。我不知道是否可以用firestore做到这一点。获取所有文档并在事后进行分类对我来说不是一个合适的解决方案。

有没有解决这个问题的办法?

EN

回答 1

Stack Overflow用户

发布于 2020-05-15 17:20:29

道格已经证实了这件事是不可能的。我想要做的很简单。我将保留我的字段day,month,并且我将添加一个字段"timeRange“(该字段将接受一个从1到10的值,以定位问题在一天中的大约小时)。我将使用"IN“查询,它被限制为10个字段。

例如,如果我想要过去24小时的问题,我会这样做:(在这个例子中,我想我们实际上是在timeRange 5中)

查询当天的帖子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Query query = firestore.collection("post");
query = query.where("day", isEquals: currentDay);
query = query.where("timeRange", inArray: [0,1,2,3,4,5]);
query = query.orderBy("like", descending: true);
QuerySnapshot data = await queryResult.getDocuments();

对昨天的帖子的一个查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Query query = firestore.collection("post");
query = query.where("day", isEquals: yesterday);
query = query.where("timeRange", inArray: [10,9,8,7,6]);
query = query.orderBy("like", descending: true);
QuerySnapshot data = await queryResult.getDocuments();

如果有人对这个解决方案有什么意见,欢迎。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61823562

复制
相关文章
Wordpress按评论时间给文章排序
wordpress作为最受欢迎的程序,我们对其功能要求也是更为多样。我们都知道wordpress文章发布后都是按照发布时间进行排位,最新发布的在最前面。但是有的网友使用wp作为论坛,就需要新的排序方式。比如按最新评论排序。
Daimon
2022/03/08
7340
一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架
问题:3行代码 PDF.NET 是一个开源的数据开发框架,它的特点是简单、轻量、快速,易上手,而且是一个注释完善的国产开发框架,受到不少朋友的欢迎,也在我们公司的项目中多次使用。但是,PDF.NET比起EF来,仍然有很大的劣势,主要就是用起来没有EF简单,这个问题饱受广大朋友的批评,但我很感谢这些朋友,他们的批评才是框架进步的动力,为此,之前我发表了《来一点反射和Emit,让ORM的使用极度简化》  这篇文章,使得不再需要定义实体类,只需要有接口即可访问数据库:     原文的代码:     static
用户1177503
2018/02/26
1.4K0
一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架
YII关联字段并带搜索排序功能
  从接触yii框架到现在已经快有两个月了,但是自己对yii框架的了解程度并不是很深,并没有系统地去学习,仅仅只是在做项目的时候遇到不懂得知识才去翻手册。
那一叶随风
2018/08/22
9440
WordPress实现文章按修改时间排序
WordPress下的默认排序是按照发布时间排序,但有时候,如果按修改时间排序来的比较合理,特别是有一些资料代码需要更改修正的时候。
.T.
2022/02/21
1.8K0
mysql8.0+根据json字段(时间字段)进行组合排序
-- 根据面试管理timeDate日期降序、timeDate时间升序,创建时间升序  SELECT id,create_time, (CASE  WHEN JSON_VALID(interview.interviewer_json)             THEN             JSON_UNQUOTE(JSON_EXTRACT(interview.interviewer_json, CONCAT('$.','timeDate')))              ELSE            
botkenni
2022/03/24
3.4K0
mysql8.0+根据json字段(时间字段)进行组合排序
将包含时间戳的对象数组按天排序
示例对象数组如下,每个对象中都有一个时间戳,现在要求将每个对象按照其中的时间戳对应的天数进行排列,如何实现?
Daotin
2019/12/18
3.8K0
Excel按列排序和按行排序
文章背景:Excel二维表中记录着多行多列的数据,有时需要按行或按列排序,使数据更加清晰、易读。下面分别对按列排序和按行排序进行介绍。
Exploring
2022/08/10
3.2K0
Excel按列排序和按行排序
MYSQL用法(十六) MySQL按指定字段自定义列表排序
要求:按照字段IS_NEW_PROJ的降序、字段LOAN_APR的降序、字段GMT_BUY_START的升序排序
Java架构师必看
2021/05/31
2.5K0
MYSQL用法(十六) MySQL按指定字段自定义列表排序
Order By 排序条件中带参数的写法(Oracle数据库、MyBatis)
sortWay 是参数。 当sortWay 为 llpx 就 ORDER BY FORMAT ASC,为 btypx 就ORDER BY BID DESC ,为 zhpx 就 ORDER BY FORMAT ASC,BID DESC
微风-- 轻许--
2022/04/13
3.5K0
多个字段中如何按其中两个进行排序(二次排序)
多个字段中如何按其中两个进行排序(二次排序) 1 原理     二次排序就是首先按照第一字段排序,然后再对第一字段相同的行按照第二字段排序,注意不能破坏第一次排序的结果。     这里主要讲如何使用一个Mapreduce就可以实现二次排序。Hadoop有自带的SecondarySort程序,但这个程序只能对整数进行排序,所以我们需要对其进行改进,使其可以对任意字符串进行排序。下面会分别列出这两个程序的详解。        Hadoop自带的例子中定义的map和reduce如下,关键是它对输入输出类型的定
闵开慧
2018/04/02
4.9K0
springBoot按条件装配:Condition
若file.encoding=’gbk’,则只装配GBKEncodingConverter
HUC思梦
2020/09/03
9550
按条件替换-------replace_if
内置数据类型: #include<iostream> using namespace std; #include<vector> #include<algorithm> //函数对象 class GREATERthan { public: bool operator()(int val) { if (val > 5) return true; //如果这里的false不写,那么默认返回true return false; } }; //普通函数 void print(int
大忽悠爱学习
2021/03/02
1.1K0
按条件替换-------replace_if
Vue 按条件添加类
Vue 按条件添加类 <el-card class="box-card"> <div class="question" ref="question" v-for="(question, index) in questionList" :key="question.id"> <h4>{{(index+1) +10*(currentPage-1)}}. {{question.ques}}</h4> <div v-for="option in question.opti
赤蓝紫
2023/01/02
9760
Vue 按条件添加类
map按key和按value排序
看一个题: 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith 67 Tom 70 jack 70 peter 96 1、按照value排序 2、可以递增排序和递减排序 3、保证排序的稳定性 golang map按key排序 //golang的map不保证有序
李海彬
2018/03/27
4.7K0
map按key和按value排序
看一个题: 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 smith 67 从低到高 smith 67 Tom 70 jack 70 peter 96 1、按照value排序 2、可以递增排序和递减排序 3、保证排序的稳定性 golang map按key排序 //golang的map不保证有序
李海彬
2018/03/27
3.2K0
hastable按值排序
最近做了一个项目,需要对一个2维数组的值进行排序然后再取出对应的Key值。开始是用HashTable做的,不过HashTable中的排序只是对Key进行排序,如果想对值进行排序得用其它办法。下面我就把这种方法说下:
codeniu
2022/02/25
1.3K0
按持续时间偏移的日期时间
可以添加一个日期 x时间和一个持续时间来计算一个新的日期时间,它与线性时间轴上的距离正好是 的大小。在这里,datetime代表, , , or 中的任何一个,并且非空结果将是相同的类型。可以按如下方式计算日期时间偏移的持续时间:yx + yxyDateDateTimeDateTimeZoneTime
冬夜先生
2022/01/05
2.7K0
多条件排序
今天跟大家分享多条件排序的技巧! 之前分享过关于excel中的排序菜单及所有的排序函数,但是这些菜单和函数的排序功能仅限于单列排序,无法完成多列的多条件排序功能,今天跟大家分享excel中的多条件排
数据小磨坊
2018/04/10
1.2K0
多条件排序
python 按中文排序
安装中文库 sudo apt-get update sudo apt-get install language-pack-zh-hans-base sudo dpkg-reconfigure locales 使用 import locale locale.setlocale(locale.LC_COLLATE, 'zh_CN.UTF8') cmp = locale.strcoll courses.sort(lambda x, y: cmp(x.course_name, y.course_name)) 测试
py3study
2020/01/06
1.7K0
mysql带条件的插入语句
上面roleInfo与moduleInfo表是多对多关系,所以引入中间表moduleRole,用两个一对多实现多对多关系
别团等shy哥发育
2023/02/25
2.8K0
mysql带条件的插入语句

相似问题

Firestore:“按子集合排序”字段

10

mongoose按带条件的填充字段对文档进行排序

228

按条件和字段排序

38

Firestore按两个字段排序

11

Firestore:按字段对数据排序时出错

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文