Hi I am trying to implement firebase realtime database API in my website, I am following this documentation:
this is my code:
<script type="module">
// Import the functions you need from the SDKs you need
import { initializeApp } from "https://www.gstatic.com/firebasejs/9.8.3/firebase-app.js";
import { getAnalytics } from "https://www.gstatic.com/firebasejs/9.8.3/firebase-analytics.js";
import { getDatabase } from "https://www.gstatic.com/firebasejs/9.8.3/firebase-database.js";;
// TODO: Add SDKs for Firebase products that you want to use
// https://firebase.google.com/docs/web/setup#available-libraries
// Your web app's Firebase configuration
// For Firebase JS SDK v7.20.0 and later, measurementId is optional
const firebaseConfig = {
apiKey: "xxxxxxxxxxxxxxxxxxxxx",
authDomain: "xx.x.xxx",
databaseURL: "xxxxxxxxxxxxxxxx",
projectId: "xxxxx",
storageBucket: "xxxxxxxxx",
messagingSenderId: "xxxx",
appId: "xxxxx",
measurementId: "xxxxxxx"
};
const fireapp = initializeApp(firebaseConfig);
const db = getDatabase(fireapp);
const ref = db.ref('server/saving-data/fireblog');
</script>
What am I doing wrong? Could the version I am using be incorrect?
CodePudding user response:
You're mixing the new modular/v9 syntax of the API with the older namespaced syntax, and that won't work.
In v9 the equivalent of that last line is:
const ref = ref(db, 'server/saving-data/fireblog');
Since you seem to be taking outdated code, I recommend keeping the documentation handy (for example, this section on getting a reference) to compare the v8 and v9 code samples, as well as reading the upgrade guide.
CodePudding user response:
it seems like you're using the documentation for the NodeJS backend SDK. Your starting point for frontend developing should be firebase docs – web start.
For v9 of the Web-SDK, that you included into your website, there different functions to use. Check out firebase docs – web read/write for using them.
I was confused as well when I first used firebase for web developing some weeks ago. I hope it helps.
CodePudding user response:
You are using the Firebase Client SDK but referring to the documentation of Firebase Admin SDK that is not totally modular yet. Try refactoring the code using ref()
function:
import { ref } from "firebase/database"
const dbRef = ref(db, 'server/saving-data/fireblog');
Checkout the documentation of Firebase JS SDK (the Modular tab) for correct syntax.