【发布时间】:2021-05-19 23:04:31
【问题描述】:
我正在尝试将数据添加到 firebase 数据库:firestore。
下面的代码大部分取自文档,并没有将任何内容写入数据库,尽管读取数据没有问题。
<script>
var firebaseConfig = {
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "...",
measurementId: "..."
};
let fb = document.createElement('script');
fb.src = "https://www.gstatic.com/firebasejs/8.6.1/firebase-app.js";
fb.onload = function(){
let gA = document.createElement('script');
gA.src = "https://www.gstatic.com/firebasejs/8.6.1/firebase-analytics.js";
gA.onload = function(){
firebase.initializeApp(firebaseConfig);
firebase.analytics();
let auth = document.createElement('script');
auth.src= "https://www.gstatic.com/firebasejs/8.6.1/firebase-auth.js";
auth.onload = function(){
let fs = document.createElement('script');
fs.src = "https://www.gstatic.com/firebasejs/8.6.1/firebase-firestore.js";
fs.onload = function(){
firebase.auth().onAuthStateChanged((user) => {
if (user) {
var uid = user.uid;
var db = firebase.firestore();
db.collection("cities").add({
name: "some_ad_id",
coordinations: "41,41",
user_id: uid,
})
.then((docRef) => {
console.log("Document written with ID: ", docRef.id);
})
.catch((error) => {
console.error("Error adding document: ", error);
});
var cities = db.collection("cities").doc('B3O4OwYq4RLXHSQeOTQg');
cities.get().then((doc) => {
if (doc.exists) {
console.log("Document data:", doc.data());
} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch((error) => {
console.log("Error getting document:", error);
});
} else {
// User is signed out
}
});
}
document.body.appendChild(fs);
firebase.auth().signInAnonymously()
.then(() => {
// Signed in..
console.log('signed in');
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
console.log('not signed in');
// ...
});
};
document.body.appendChild(auth);
};
document.body.appendChild(gA);
};
document.body.appendChild(fb);
</script>
如果我将库 firebase-app.js 更改为 firebase.js,一切正常(读取和写入),但我当然会收到警告说我正在使用库的开发版本,这里是警告我明白了:
您似乎正在使用 Firebase JS SDK 的开发版本。 将 Firebase 应用部署到生产环境时,建议仅导入 您打算使用的各个 SDK 组件。 对于 CDN 构建,这些可通过以下方式获得 (替换为组件的名称 - 即身份验证、数据库等): https://www.gstatic.com/firebasejs/5.0.0/firebase-.js
知道是什么导致了这个问题吗?
我尝试了以下方法,但都没有奏效:
- 直接嵌入编写 HTML 的库
- 等待每次初始化 firebase 或 firebase 产品
谢谢
【问题讨论】:
标签: javascript firebase web google-cloud-firestore