Javascript 尝试将对象数组保存到Firestore并将其加载回
如何将对象数组保存到Firestore并重新加载?我得到这个错误 未捕获的FirebaseError:使用调用函数DocumentReference.set() 无效数据。不支持的字段值:自定义对象(位于 文件(用户手册/图书馆) 这是我将其保存到Firebase并在修改myLibrary阵列后加载的代码Javascript 尝试将对象数组保存到Firestore并将其加载回,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,如何将对象数组保存到Firestore并重新加载?我得到这个错误 未捕获的FirebaseError:使用调用函数DocumentReference.set() 无效数据。不支持的字段值:自定义对象(位于 文件(用户手册/图书馆) 这是我将其保存到Firebase并在修改myLibrary阵列后加载的代码 let myLibrary = []; let firestore = firebase.firestore(); let docRef = firestore.doc("user
let myLibrary = [];
let firestore = firebase.firestore();
let docRef = firestore.doc("userBooks/library");
saveLibrary = function () {
docRef
.set({
userLibrary: myLibrary,
})
.then(function () {
console.log("Library saved!");
})
.catch(function (error) {
console.log("Got an error: ", error);
});
};
saveLibrary()
getUpdate = function () {
docRef.onSnapshot(function (doc) {
if (doc && doc.exists) {
const myData = doc.data();
myLibrary = myData.userLibrary;
console.log(myData.userLibrary);
}
});
};
// Here I add multiple objects to the array myLibrary.
saveLibrary();
getUpdate();
看起来您正试图在文档中存储一个空数组,然后开始侦听更新 在空数组中包含数据之前,我不会存储它,或者使用样板数据存储它 在代码中,在向其添加对象之前调用“saveLibrary()”。我认为这就是问题的根源
我还鼓励您在.set()函数中使用{merge:true},这样您就不会覆盖文档 这回答了你的问题吗?