Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React Native/Firestore-按日期搜索_Javascript_Reactjs_Firebase_React Native_Google Cloud Firestore - Fatal编程技术网

Javascript React Native/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

我正在尝试创建一个搜索筛选器,您可以在其中按特定日期进行筛选。不知道问题出在哪里。这是一个react原生项目,我使用钩子(useEffect)读取firestore数据。那部分很好用。但是,我想应用一个搜索过滤器,您可以选择位置和日期

位置部分就像一个符咒。下面是一些代码示例:

   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)