【发布时间】:2020-06-24 03:04:32
【问题描述】:
我正在尝试获取地点的文档 ID,并查看在我的“用户”集合的子集合之一中引用的评论。得到它后,我执行另一个查询,然后使用这些 ID 来获取另一个集合“地方”中的评论字段的实际值
var query = db.collection('users/ziRsQGzbuwVp805SYY9vkZIbbJ93/myRecommendations');
query.get().then(function(querySnapshot){
querySnapshot.forEach(function(doc){
locData.placeID = doc.data().placesDocument;
locData.reviewID = doc.data().reviewDocument;
var query2 = db.collection('places').doc(locData.placeID).collection('reviews').doc(locData.reviewID)
query2.get().then(function(doc){
locData.review = doc.data().specRemarks
locdataArr.push(parse)
console.log(locdataArr)
然而,第一个查询中的 foreach
querySnapshot.forEach(function(doc){
locData.placeID = doc.data().placesDocument;
locData.reviewID = doc.data().reviewDocument;
var query2 = db.collection('places').doc(locData.placeID).collection('reviews').doc(locData.reviewID)
query2.get().then(function(doc){
locData.review = doc.data().specRemarks
似乎在执行第二个查询之前循环,这导致只有第一个查询的最后一个输出通过第二个查询,这些输出来自日志
审核成功(firestore 中的一个值实际上为 null,另一个为 TEsting/n) 但记录的 ID 仅来自第一个查询的最后一个输出。我该如何解决这个问题?
【问题讨论】:
标签: javascript firebase google-cloud-firestore