![](/img/trans.png)
[英]Firebase db with vuejs : default.collection is not a function
[英]db.collection("articles").add results in ".default.collection is not a function"
本質上,我想添加一個名為“articles”的集合,其中包含以下參與者並將其存儲在 firebase 中。
我按照文檔將文件上傳到 firebase。 我正在閱讀將數據添加到 firebase 的文檔,但這有點令人困惑,不知道如何實現它。
index.js(查看另一個上半部分, 在這里)
...
() => {
getDownloadURL(upload.snapshot.ref).then((downloadURL) => {
db.collection("articles").add({
actor: {
description: payload.user.email,
title: payload.user.displayName,
date: payload.timestamp,
image: payload.user.photoURL,
},
video: payload.video,
sharedImg: downloadURL,
comments: 0,
description: payload.description,
});
});
}
但是,每當我運行此代碼時,我都會收到“未處理的拒絕(TypeError): firebase__WEBPACK_IMPORTED_MODULE_0 _.default.collection 不是 function。”
firebase.js
import { initializeApp } from 'firebase/app';
import { getAuth, GoogleAuthProvider } from 'firebase/auth';
import { getStorage } from "firebase/storage";
import { getFirestore } from "firebase/firestore";
const firebaseConfig = {
...
}
const firebaseApp = initializeApp(firebaseConfig);
const db = getFirestore(firebaseApp);
const auth = getAuth();
const provider = new GoogleAuthProvider();
const storage = getStorage(firebaseApp);
export { auth, provider, storage };
export default db;
關於出了什么問題的任何建議? 謝謝!
與上一個問題相同,由於您使用 v9 語法導入特定函數,因此您不能再調用db
或CollectionReference
上的方法。
v9 模塊化語法中的代碼段等效於:
const collectionRef = collection(db, "articles")
addDoc(collectionRef, { ... })
我強烈建議您花一些時間在 Firebase 文檔中編寫數據和升級指南,以熟悉現有代碼中的語法如何映射到新語法。
如果您不想升級代碼,也可以考慮使用 v9 SDK 的compat
路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.