Javascript Firestore根据orderBy和limit从集合中检索单个文档,而不使用forEach

Javascript Firestore根据orderBy和limit从集合中检索单个文档,而不使用forEach,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,我的Javascript与此类似: firestoredb.collection('abc')) .doc('bcd') .collection('cde') .orderBy('bid','desc') .orderBy('timestamp','asc') .限额(1) .get() .then(函数(querySnapshot){ querySnapshot.forEach(函数(doc){ console.log(doc.data().bid); }); }); 是否可以检索doc.d

我的Javascript与此类似:

firestoredb.collection('abc'))
.doc('bcd')
.collection('cde')
.orderBy('bid','desc')
.orderBy('timestamp','asc')
.限额(1)
.get()
.then(函数(querySnapshot){
querySnapshot.forEach(函数(doc){
console.log(doc.data().bid);
});
});

是否可以检索
doc.data().bid
而不使用
forEach
语句,也可能不使用
querySnapshot
变量?因为我知道在这种情况下只有一条记录。还是
forEach
仍然是推荐的方法?我尝试过的其他所有内容都会导致错误消息。我想知道是否有一种更简单的方法来编写此代码。

无法将答案放入注释中。这就是你要找的吗

firestoredb.collection('abc'))
.doc('bcd')
.collection('cde')
.orderBy('bid','desc')
.orderBy('timestamp','asc')
.get()
.then(querySnapshot=>console.log(querySnapshot.docs[0].data().bid));

我希望下面的代码能有所帮助

firestoredb.collection('abc'))
.doc('bcd')
.collection('cde')
.orderBy('bid','desc')
.orderBy('timestamp','asc')
.限额(1)
.get()
.然后(功能(文档){
console.log(doc.data().bid);
}

出于某种原因,我只是得到了“未定义”的结果,而不是像我在问题中的脚本那样得到的数字。你是否删除了
限制(1)
?我无法在我的电脑上真正尝试它,所以很难判断这里的问题是什么:(.可能尝试
控制台.log(querySnapshot,querySnapshot.docs)
等,以了解返回的数据的外观。如果它是一个数组,那么您可以简单地使用
[0]
而不是
。限制(1)
确定是的,这会给出正确的值,没有限制:querySnapshot.docs[0]。data().bidIt也适用于限制。可能效率更高?废话,我刚刚意识到现在有效的是你在回答中提出的。我不知道这一点上发生了什么。但现在它似乎有效了?BB设计,这有用吗?这不起作用。限制为1的查询仍然会给出QuerySnapshot,而不是单个文档。我希望能够简单地做到这一点,但我用这个方法在控制台中得到了“doc.data不是函数”错误。我应该删除我的答案吗?