FirebaseError:预期类型“查询”,但它是:自定义对象对象

问题描述 投票:0回答:1

我对 Firebase 和 Firestore(以及 React)完全陌生。我创建了一个 Firebase 项目,并向 Firestore 数据库添加了一些测试数据。现在我想在 Firestore 中查询该数据并将其显示在某处。然而,目前,我的网络应用程序给出了错误“FirebaseError:预期类型‘查询’,但它是:自定义对象”。

以下是我到目前为止所做的:

  • 创建了一个 firebase.js 文件,在其中导入了initializeApp、getFirestore、collection 和 getDocs。
    • 我还将 const firebaseconfig = {} 内容粘贴到此文件中。
    • 我还制作了 app、db 和 colRef 常量并导出它们。
// Initialize Firebase
const app = initializeApp(firebaseConfig);

// init service
const db = getFirestore(app);

// collection reference
const colRef = collection(db , "songs")

export default {app, db, colRef};
  • 我的 Index.js 文件:
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';

import { getDocs } from "firebase/firestore";
import colRef from "./firebase.js";

const snapshot = getDocs(colRef);
console.log(snapshot.docs);

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

reportWebVitals();

之前有关此错误的问题涉及不使用集合引用作为 getDocs 的参数,以及所谓的“角度”。我使用 colRef 作为 getDocs() 的参数,它是一个集合,并且我没有使用 Angular。

如何修复此错误?此外,这是否意味着它至少正在尝试搜索我的 Firestore?我如何验证我是否正确地将 Web 应用程序连接到 firestore?

我不知道该尝试什么 - 我将 colRef 切换为“歌曲”,这给出了不同的错误。但这不是一个好主意,因为 index.js 不知道在哪个数据库中查找“歌曲”。

将此代码放入 firebase.js 文件中可以消除错误,但也没有任何反应。

javascript reactjs firebase google-cloud-firestore
1个回答
0
投票

我想你想要:

import { colRef } from "./firebase.js";
© www.soinside.com 2019 - 2024. All rights reserved.