所以我正在尝试从Firebase数据库中提取数据。
当前将规则设置为允许读/写。在创建的生命周期挂钩中调用了我的函数,其外观如下:
db.collection("todos")
.get()
.then((snapshot) => {
snapshot.forEach((element) => {
console.log(snapshot);
console.log(element);
});
});
我的firebase配置文件如下:
//import firebase from "firebase";
const firebase = require("firebase/app");
// eslint-disable-next-line no-unused-vars
import "firebase/firestore";
// firebase config
var config = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: "",
};
// Initialize Firebase
// eslint-disable-next-line
const firestore = firebase.initializeApp(config);
const db = firebase.firestore();
export default db;
但是,不是从数据库中以我期望的格式返回对象,而是返回以下内容:
Object { iE: {…}, kc: {…}, _E: {…}, lE: false, dE: false, rE: undefined }
但是我期望的是这样的东西: Screenshot from a tutorial video
抱歉,最后一个代码是屏幕截图,但是它来自我正在关注的视频指南。我在哪里错了? Firebase最近更新了吗,我需要做些不同的事情?
答案 0 :(得分:1)
看来您案例中的对象已缩小,而在本教程中则没有。但是,只要您坚持调用在QuerySnapshot
object和QueryDocumentSnapshot
object上声明的方法/属性,那对对象的功能就很重要。
例如,要查看查询结果的数量和每个文档的数据,请执行以下操作:
db.collection("todos")
.get()
.then((snapshot) => {
console.log(snapshot.size);
snapshot.forEach((doc) => {
console.log(doc.data());
});
});