提问者:小点点

类型错误:_Firebase__WEBPACK_IMPORTED_MODULE_6__.db.collection 不是函数 Firebase


'从“Firebase/app”导入{startalizeApp, getApps};从“Firebase/存储”导入{getStorage};

const firebaseConfig={apiKey:“key”,authDomain:“facebook-clone-nextjs-2dcc9.firebaseapp.com”,projectId:“facebook-clone-nextjs-2dcc9”,storageBucket:“facebook-clone-extjs-2dcc.appspot.com”,messagingSenderId:“662489031143”,appId:“1:662489031143:web:ae71393e61a214e3f35d42”,measurementId:“G-VFB246J0M5”,};

const firebaseApp = initializeApp(firebaseConfig);

const db = getStorage(firebaseApp);

导出 { db };

常量发送邮局 = (e) =

    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 = '';

};

`


共2个答案

匿名用户

问题是:

  • 您正在使用模块化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
});

您可以在文档中了解有关新语法的更多信息

匿名用户

您应该使用< code>getFirestore来获取< code>Firestore的实例,但是您使用的< code>getStorage将获取< code>Storage的实例。