【问题标题】:TypeError: _Firebase__WEBPACK_IMPORTED_MODULE_6__.db.collection is not a function firebaseTypeError: _Firebase__WEBPACK_IMPORTED_MODULE_6__.db.collection 不是函数 firebase
【发布时间】:2021-10-31 22:48:39
【问题描述】:

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

const firebaseConfig = { apiKey: '密钥', authDomain: 'facebook-clone-nextjs-2dcc9.firebaseapp.com', projectId: 'facebook-clone-nextjs-2dcc9', storageBucket: 'facebook-clone-nextjs-2dcc9.appspot.com', messagesSenderId: '662489031143', appId: '1:662489031143:web:ae71393e61a214e3f35d42', 测量ID:'G-VFB246J0M5', };

const firebaseApp = initializeApp(firebaseConfig);

const db = getStorage(firebaseApp);

导出{数据库};

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

    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


【解决方案1】:

问题是:

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

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

【讨论】:

  • 非常感谢您的帮助。
猜你喜欢
  • 2021-11-17
  • 1970-01-01
  • 2021-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
  • 2018-06-09
相关资源
最近更新 更多