首页 文章

检索数据时出现Vue / Firestore / Firebase错误

提问于
浏览
0

我正在使用Firestore数据库创建一个Vue JS应用程序,但在Firestore导入中可能存在问题(可能) . 它是一个简单的应用程序,只是存储一些希望显示(最初)以测试其工作的员工详细信息 . (它没有!)它只是使用“firebase”:“^ 5.0.4”,而不是vue-firebase或其他插件 .

它的Firestore不是Firebase实时数据库 .

所以在firebaseInit.js配置文件中是所有基本配置选项,如下所示

import * as firebase from 'firebase'
// Initialize Firebase
var config = {
  apiKey: "AIzaSyCyKS3QxqtR9HvetpT2vWKFNxa_yeRKdhA",
    authDomain: "vuefsprod-fc778.firebaseapp.com",
    databaseURL: "https://vuefsprod-fc778.firebaseio.com",
    projectId: "vuefsprod-fc778",
    storageBucket: "vuefsprod-fc778.appspot.com",
    messagingSenderId: "1048509841840"
}
firebase.initializeApp(config)

var auth = firebase.auth()
var db = firebase.database()

export function signOut (callback) {
  auth.signOut().then(value => {
    callback()
  }, err => { callback(err) })
}
export default 'firebase/firestore'

然后用于测试它的脚本片段如下(在Helloworld.vue中)

import db from '../firebaseInit'
  export default {
    name: 'home',
    data () {
      return {
        employees: [],
        loading: true
        }
      },
      created() {
       db.collections('employees').get().then(querySnapshot => {
       querySnapshot.forEach(doc => {
       console.log(doc)
       const data = {

       }
       })
       })
      }
    }

Yarn编译显示的应用程序,但控制台中出现警告错误,如下所示

[Vue warn]: Error in created hook: "TypeError: __WEBPACK_IMPORTED_MODULE_0__firebaseInit__.a.collections is not a function"

found in

---> <Home> at src/components/HelloWorld.vue

并且没有数据显示到控制台,employees集合中有6个项目 .

我也想知道a.collections中的“a”来自哪里 .

任何关于这个或更好的方法的提示,比如vue-firebase或其他,都非常受欢迎 . 截图如下 .

enter image description here

非常感谢

1 回答

  • 0

    您正在使用实时数据库(RTDB)服务声明数据库,而不是Firestore服务:

    var db = firebase.database()  // <- RTDB
    

    您应该执行以下操作:

    var db = firebase.firestore()
    

    由于RTDB没有集合,因此您收到错误“集合不是函数”

    仅供参考,这里记录了不同的可用服务:https://firebase.google.com/docs/web/setup#use_firebase_services,以及如何访问/声明它们 .

相关问题