我对 Firebase 和 Firestore(以及 React)完全陌生。我创建了一个 Firebase 项目,并向 Firestore 数据库添加了一些测试数据。现在我想在 Firestore 中查询该数据并将其显示在某处。然而,目前,我的网络应用程序给出了错误“FirebaseError:预期类型‘查询’,但它是:自定义对象”。
以下是我到目前为止所做的:
// Initialize Firebase
const app = initializeApp(firebaseConfig);
// init service
const db = getFirestore(app);
// collection reference
const colRef = collection(db , "songs")
export default {app, db, colRef};
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 文件中可以消除错误,但也没有任何反应。
我想你想要:
import { colRef } from "./firebase.js";