gpt4 book ai didi

javascript - 从文档顺序中获取第一个 Firestore 文档 (Node.js)

转载 作者:行者123 更新时间:2023-12-05 02:04:43 24 4
gpt4 key购买 nike

我想做什么:我想从我在 Firestore 中的收藏中获取第一个文档,当涉及到文档中的“描述”时,它应该从 Z-A 订购。

问题:它告诉我“没有这样的文件!”。尽管它应该输出 1 个文档。

代码如下:

getPost();

async function getPost() {

const postRef = db.collection('posts');
const doc = await postRef.orderBy('description', 'desc').limit(1).get()
.then(doc => {
if (!doc.exists) {
console.log('No such document!');
} else {
console.log('Document data:', doc.data());
}
})
.catch(err => {
console.log('Error getting document', err);
});

};

最佳答案

您的变量 docQuerySnapshot对象(不是 DocumentSnapshot)。正如您从 API 文档中看到的那样,它没有名为 exists 的属性,因此 if (!doc.exists) 将始终为真。

由于 QuerySnapshot 对象总是考虑到包含多个文档的可能性(即使您指定了 limit(1)),您仍然必须检查其结果集的大小才能知道你有多少文件。您可能应该这样做:

const querySnapshot = await postRef.orderBy('description', 'desc').limit(1).get()
if (querySnapshot.docs.length > 0) {
const doc = querySnapshot.docs[0];
console.log('Document data:', doc.data());
}

另请注意,如果您使用 await 从返回的 promise 中捕获查询结果,则无需使用 then/catch。

关于javascript - 从文档顺序中获取第一个 Firestore 文档 (Node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64189836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com