Firebase Firestore集合获取方法导致错误



我在Firestore中有一个名为" users "的集合,它的结构是这样的

用户→文档→电子邮件名称

db.collection('users').get().then(snapshot => {
snapshot.docs.forEach(doc => {
console.log(doc)
});
});

这段代码应该获取集合中的所有文档(大约有15个),但是当我运行它时,我得到了一个很长的错误(如下)

QueryDocumentSnapshot {
_firestore: Firestore {
_delegate: Firestore$1 {
type: 'firestore',
_persistenceKey: '[DEFAULT]',
_settings: [FirestoreSettingsImpl],
_settingsFrozen: true,
_app: [FirebaseAppImpl],
_databaseId: [DatabaseId],
_credentials: [FirebaseCredentialsProvider],
_queue: [AsyncQueueImpl],
_firestoreClient: [FirestoreClient]
},
_persistenceProvider: IndexedDbPersistenceProvider {},
INTERNAL: { delete: [Function: delete] },
_appCompat: FirebaseAppImpl {
firebase_: [Object],
isDeleted_: false,
name_: '[DEFAULT]',
automaticDataCollectionEnabled_: false,
options_: [Object],
container: [ComponentContainer]
}
},
_delegate: QueryDocumentSnapshot$1 {
_firestore: Firestore$1 {
type: 'firestore',
_persistenceKey: '[DEFAULT]',
_settings: [FirestoreSettingsImpl],
_settingsFrozen: true,
_app: [FirebaseAppImpl],
_databaseId: [DatabaseId],
_credentials: [FirebaseCredentialsProvider],
_queue: [AsyncQueueImpl],
_firestoreClient: [FirestoreClient]
},

如何正确获取文档而不出现此错误?

Firebase version - 8.2.3

感谢

这不是一个错误:使用您的代码,您实际上是在控制台中打印QueryDocumentSnapshot对象。

您应该调用data()方法来获取文档数据,如下所示:

db.collection('users').get().then(snapshot => {
snapshot.docs.forEach(doc => {
console.log(doc.data());  // Or console.log(JSON.stringify(doc.data())); 
});
});

还要注意QuerySnapshot有一个forEach()方法,因此您可以这样做:

db.collection('users').get().then(snapshot => {
snapshot.forEach(doc => {
console.log(doc.data());
});
});

相关内容

最新更新