Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 Firestore通过查询基于时间的数据接收新数据_Javascript_Firebase_Google Cloud Firestore - Fatal编程技术网

Javascript Firestore通过查询基于时间的数据接收新数据

Javascript Firestore通过查询基于时间的数据接收新数据,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我想以一种可以更新新数据而忽略旧数据的方式构建数据。因此,我添加了一个时间字段,并考虑添加一个where子句和一个onSnapshot侦听器 创建集合的代码: const citiesRef = db.collection('cities'); await citiesRef.doc('SF').set({ createdDummyTime: new Date().toISOString(), //or just Date() name: 'San Francisco', popula

我想以一种可以更新新数据而忽略旧数据的方式构建数据。因此,我添加了一个时间字段,并考虑添加一个where子句和一个
onSnapshot
侦听器

创建集合的代码:

const citiesRef = db.collection('cities');

await citiesRef.doc('SF').set({
  createdDummyTime: new Date().toISOString(), //or just Date()
  name: 'San Francisco', population: 860000,
});
集合更新的代码:

citiesRef 
  .doc('SF')
  .update({ 
    createdDummyTime: new Date().toISOString(),
    name: 'San Francisco', population: 999999999,
    }),
  })
  .then(() => {
    console.log("res");
  });

//or set another doc('blahblah') with time higher then querying with.
监听数据的代码:

db.collection("cities").where("createdDummyTime", ">", new Date().toISOString())
.onSnapshot((querySnapshot) => {
    var cities = [];
    querySnapshot.forEach((doc) => {
        cities.push(doc.data().name);
    });
    console.log("Current cities in CA: ", cities.join(", "));
});
我什么也没收到,在我的测试中,也许我做错了

  • 我想监听比我查询的时间更高的
    createdDummyTime
    新数据
  • 这可能是不可能的,因为onSnapshot on query不知道将添加的新数据,但这在语法上是正确的。另外,如果我用新的时间和其他值更新现有数据。 如果不可能,那么我还有什么其他方法可以实现这一点