使用Firebase Firestore Collection Get方法获取数据时出现异常
Firestore获取文档数据的正确方式(v8.2.3)
你看到的不是异常,是直接打印QueryDocumentSnapshot对象时输出的完整内部结构,属于正常现象。要获取集合中文档的email、name字段数据,需要通过对应的方法提取,而非直接打印文档实例。
正确代码示例
方式1:获取完整文档数据
db.collection('users').get().then(snapshot => { snapshot.docs.forEach(doc => { // 提取文档的所有字段数据 const userData = doc.data(); console.log(userData); // 输出格式:{ email: "xxx@xxx.com", name: "用户名" } // 单独提取指定字段 console.log(`邮箱:${userData.email},姓名:${userData.name}`); }); });
方式2:同时获取文档ID和字段数据
如果需要获取文档自身的ID,可以结合doc.id属性:
db.collection('users').get().then(snapshot => { snapshot.docs.forEach(doc => { const userInfo = { docId: doc.id, ...doc.data() // 展开文档中的email、name字段 }; console.log(userInfo); // 输出格式:{ docId: "文档ID", email: "xxx", name: "用户名" } }); });
说明
直接打印doc会输出Firestore内部的QueryDocumentSnapshot实例结构,包含大量SDK内部属性,并非程序报错。通过doc.data()方法可以获取你实际需要的业务字段数据,避免输出冗余信息。
内容的提问来源于stack exchange,提问作者FattyDev1
相关产品推荐
相关产品推荐

