TypeError:_Firebase__WEBPACK_IMPORTED_MODULE_6__.db.collection 不是一个函数 firebase

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

` 从“firebase/app”导入{initializeApp,getApps}; 从 'firebase/storage' 导入 { getStorage };

const firebaseConfig = { apiKey: '密钥', authDomain: 'facebook-clone-nextjs-2dcc9.firebaseapp.com', 项目 ID: 'facebook-clone-nextjs-2dcc9', storageBucket: 'facebook-clone-nextjs-2dcc9.appspot.com', 消息发送者 ID: '662489031143', appId: '1:662489031143:web:ae71393e61a214e3f35d42', 测量 ID: 'G-VFB246J0M5', };

const firebaseApp =initializeApp(firebaseConfig);

const db = getStorage(firebaseApp);

导出 { db };

 
const sendpost = (e) => { e.preventDefault(); if (!inputRef.current.value) return;

    db.collection('post').add({
        message: inputRef.current.value,
        name: session.user.name,
        email: session.user.email,
        image: session.user.image,
        timestamp: firebase.firestore.fieldValue.serverTimestamp(),
    });
    inputRef.current.value = '';

};

`

javascript firebase google-cloud-firestore
3个回答
4
投票

问题是:

  • 您使用的是模块化 SDK,因此无法使用
    db.collection()
  • 您应该使用
    getFirestore
    来获取 Firestore 的实例,但您正在使用
    getStorage
    它将获取 Storage 的实例。

尝试将您的代码重构为:

import { getFirestore, collection } from "firebase/firestore"

const db = getFirestore(app)

const colRef = collection(db, "posts")

await addDoc(colRef, {
  ...yourDataObject
});

您可以在文档

中了解有关新语法的更多信息

0
投票

您应该使用

getFirestore
来获取
Firestore
的实例,但您使用
getStorage
将会获取
Storage
的实例。


0
投票

停止侵入他人财产(";")null

© www.soinside.com 2019 - 2024. All rights reserved.