1 回答
TA贡献1880条经验 获得超4个赞
根据您的数据库结构,根据您startTime和endTime属性的限制过滤数据,请使用以下查询:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
Query query = rootRef.collection("session")
.whereGreaterThanOrEqualTo("startTime", timeToCheck)
.whereLessThanOrEqualTo("endTime", timeToCheck);
如果不想平等,也可以使用以下代码:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
Query query = rootRef.collection("session")
.whereGreaterThan("startTime", timeToCheck)
.whereLessThan("endTime", timeToCheck);
因此,使用此代码,您将能够获取session会话集合中开始和结束时间字段范围内的所有对象。
编辑:
如果要检查单个文档,则需要使用另一个 if 语句。所以在你的实际中if (document.exists()){创建另一个看起来像这样的:
Attendance attendance = document.toObject(Attendance.class);
Date startTime = attendance.getStartTime();
Date endTime = attendance.getEndTime();
if(timeToCheck.after(startTime) && (timeToCheck.before(endTime)) {
//Do what you need to do
}
其中timeToCheck是一个类型的对象Date,您需要检查数据库中的实际日期。
添加回答
举报