Vue.js Firebase .get不返回预期数据

时间:2020-05-25 03:37:50

标签: javascript firebase google-cloud-firestore

所以我正在尝试从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最近更新了吗,我需要做些不同的事情?

1 个答案:

答案 0 :(得分:1)

看来您案例中的对象已缩小,而在本教程中则没有。但是,只要您坚持调用在QuerySnapshot objectQueryDocumentSnapshot object上声明的方法/属性,那对对象的功能就很重要。

例如,要查看查询结果的数量和每个文档的数据,请执行以下操作:

db.collection("todos")
  .get()
  .then((snapshot) => {
    console.log(snapshot.size);
    snapshot.forEach((doc) => {
      console.log(doc.data());
    });
  });