Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

"ERROR db._checkNotDeleted is not a function" when trying to update my database

I’m trying to make simple sign-in function for my web using firebase however I’m getting an error saying:
ERROR db._checkNotDeleted is not a function

my Firebase versions is 9 and React is running on 17.0.2.

This is my firebase config file snippet (Will hide configurations since its unnecessary):

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

import { initializeApp } from "firebase/app";
import { getAuth, signInWithPopup, GoogleAuthProvider } from "firebase/auth";
import { getDatabase, ref, set } from "firebase/database";
import { getFirestore, doc, getDoc, collection, addDoc, getDocs, query, where} from "firebase/firestore";



const firebaseConfig = {
  */*/*/*/
};

const app = initializeApp(firebaseConfig);


export const auth = getAuth(app);

  export const createUserProfileDocument = async (userAuth, additionalData) => {
    if(!userAuth) return;

    const docRef = doc(db, "users", `${userAuth.uid}`);
    
    const docSnap = await getDoc(docRef);

    if (!docSnap.exists()) {
      const { displayName, email } = userAuth;
      const createdAt = new Date();
    
     
      try {
        await set(ref(db, 'users/' + `${userAuth.uid}`), {
          displayName: "TEST"
        })
        console.log("HERE");
       
      } catch (error) {
        console.log("ERROR", error.message);
      }
    }
    return docRef;
  }

  
  

  const provider = new GoogleAuthProvider();

  export const signInWithGoogle = () => {
      signInWithPopup(auth, provider)
      .then((result) => {
            console.log(result);
      }).catch((error) => {
          console.log(error);
      })
  }
 
  
  
  const db = getFirestore();

Here is my project: https://github.com/poolpy111/oto-clothing/tree/master/src

Can’t really figure out what this is error is trying to say so I’m really confused. In debugger error line appears on line 43 which is where I use firebase’s "ref" method.
What I’m supposed to do? Thanks in advance

>Solution :

Firebase has two databases namely Firebase Realtime Database and Cloud Firestore. In the provided code you are creating a DocumentReference by using doc() but then using set() imported from Realtime Database SDK which is causing the error.

If you want to add data in Firestore then import setDoc() from Firestore and refactor the code as shown below:

import { initializeApp } from "firebase/app";
import { getAuth, signInWithPopup, GoogleAuthProvider } from "firebase/auth";
import { getFirestore, doc, getDoc, setDoc, collection, addDoc, getDocs, query, where} from "firebase/firestore";

export const createUserProfileDocument = async (userAuth, additionalData) => {
  if(!userAuth) return;

  const docRef = doc(db, "users", `${userAuth.uid}`);
    
  const docSnap = await getDoc(docRef);

  if (!docSnap.exists()) {
    const { displayName, email } = userAuth;
    const createdAt = new Date();  
     
    try {
      // use setDoc()
      await setDoc(docRef, {
        displayName: "TEST"
      })
      console.log("HERE");   
    } catch (error) {
      console.log("ERROR", error.message);
    }
  }
  return docRef;
}

Follow Firestore’s documentation for more information.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading