Javascript React Native/Firestore-按日期搜索
我正在尝试创建一个搜索筛选器,您可以在其中按特定日期进行筛选。不知道问题出在哪里。这是一个react原生项目,我使用钩子(useEffect)读取firestore数据。那部分很好用。但是,我想应用一个搜索过滤器,您可以选择位置和日期 位置部分就像一个符咒。下面是一些代码示例:Javascript React Native/Firestore-按日期搜索,javascript,reactjs,firebase,react-native,google-cloud-firestore,Javascript,Reactjs,Firebase,React Native,Google Cloud Firestore,我正在尝试创建一个搜索筛选器,您可以在其中按特定日期进行筛选。不知道问题出在哪里。这是一个react原生项目,我使用钩子(useEffect)读取firestore数据。那部分很好用。但是,我想应用一个搜索过滤器,您可以选择位置和日期 位置部分就像一个符咒。下面是一些代码示例: useEffect(() => { db.collection("Name of the collection") .where("location", "==", props.searc
useEffect(() => {
db.collection("Name of the collection")
.where("location", "==", props.searchLocation)
.where("date", "==", props.searchDate)
.onSnapshot(snapshot => {
如果删除日期查询部分,则位置部分工作正常。另外,如果我将日期部分的==更改为>=,则它将显示所选日期和转发的数据
useEffect(() => {
db.collection("Name of collection")
.where("location", "==", props.searchLocation)
.where("date", "=<", props.searchDate)
.onSnapshot(snapshot => {
更新2-我的解决方案
我确实解决了这个问题,在useEffect的开头创建了两个cont,在这里我设置了所选日期的时间
然后我通过两个.where()参数查询数据
这是我的解决方案,如果有人用同样的东西。然而,我不知道这是否是最好的做法
useEffect(() => {
const date1 = new Date(props.searchDate.setHours(0, 0, 0, 0));
const date2 = new Date(props.searchDate.setHours(23, 59, 59, 59));
console.log(date1);
console.log(date2);
db.collection("Name of collection")
.where("location", "==", props.searchLocation)
.where("date", ">=", date1)
.where("date", "<=", date2)
useffect(()=>{
const date1=新日期(props.searchDate.setHours(0,0,0,0));
const date2=新日期(props.searchDate.setHours(23,59,59,59));
console.log(date1);
控制台日志(日期2);
db.集合(“集合名称”)
.where(“位置”,“位置=”,props.searchLocation)
。其中(“日期”,“>=”,日期1)
.where(“date”,“你确定props.searchDate
是日期或时间戳类型的对象吗?”现在更新了原始帖子
useEffect(() => {
const date1 = new Date(props.searchDate.setHours(0, 0, 0, 0));
const date2 = new Date(props.searchDate.setHours(23, 59, 59, 59));
console.log(date1);
console.log(date2);
db.collection("Name of collection")
.where("location", "==", props.searchLocation)
.where("date", ">=", date1)
.where("date", "<=", date2)