gpt4 book ai didi

javascript - QueryDocumentSnapshot 似乎缺少其父类的方法

转载 作者:行者123 更新时间:2023-12-03 00:42:21 25 4
gpt4 key购买 nike

我正在使用 firebase 构建数据库应用程序。我正在尝试获取特定文档的 firebase 生成的 id。该文档作为 Promise 返回,它返回 QuerySnapshot。 forEach 循环将每个 QueryDocumentSnapshot 从 QuerySnapshot 中取出,因此我正在使用 QueryDocumentSnapshot 类。文档称该类与 DocumentSnapshot 类具有相同的 API 接口(interface)。

https://developers.google.com/android/reference/com/google/firebase/firestore/QueryDocumentSnapshot

由于 DocumentSnapshot 类有一个 getId() 方法,我想我应该使用它。

searchBooks(){

this.booksSearched = true;
this.bookService.getBookList(this.authorName).get().then(bookListSnapshot =>{
this.bookList = [];
bookListSnapshot.forEach( snap =>{
this.bookList.push({
authorLastName: snap.data().authorLastName,
title: snap.data().title,
edition: snap.data().edition,
id: snap.getId() <-------ISSUE HERE-----------
});

return false;
});
});

}

但是,我收到此错误。

property 'getId' does not exist on type 'QueryDocumentSnapshot'

这是 bookService 的代码

getBookList(authorLastName): firebase.firestore.Query{

return this.bookListRef.where("authorLastName", "==", authorLastName);
}

更疯狂的是当我尝试更改我的代码时。我想我应该利用 bookListSnapShot 是 QuerySnapshot 的事实并调用其 getDocuments() 方法,而不是使用 forEach 循环拉出 QueryDocumentSnapshots。 https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/QuerySnapshot

这将返回 DocumentSnapshots 列表,这可能意味着可以避免 getId() 方法的任何继承问题。然而,当我尝试时,我得到了这个错误:

var documents = bookListSnapshot.getDocuments();
Property 'getDocuments' does not exist on type 'QuerySnapshot'

对我来说,文档似乎与编辑器抛出的错误相矛盾。有谁知道这是怎么回事吗?

感谢您的阅读,

-乔尔

最佳答案

您正在使用 JavaScript 编写代码,但您正在使用 Java 查看适用于 Android 的 API 文档。以下是 DocumentSnapshot 的 JavaScript API 文档和 QueryDocumentSnapshot 。 DocumentSnapshot 有一个名为 id 的属性您正在寻找的。

关于javascript - QueryDocumentSnapshot 似乎缺少其父类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53396897/

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