Javascript 试图删除firestore中的字段数组,但我的方法无效
因此,我试图删除字段Notes[1],selectedNote有一个我需要删除的选定数组的值Javascript 试图删除firestore中的字段数组,但我的方法无效,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,因此,我试图删除字段Notes[1],selectedNote有一个我需要删除的选定数组的值 window.addEventListener("load", function load(event) { document.getElementById("deleteNotes").onclick = function() { console.log("you did click atleast"); firebase.auth().onAuthStateChanged(fun
window.addEventListener("load", function load(event) {
document.getElementById("deleteNotes").onclick = function() {
console.log("you did click atleast");
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
let user = firebase.auth().currentUser;
let userInfo = db.collection("Users").doc(user.uid);
userInfo.get().then(function(doc) {
if (doc.exists) {
let selectedNote = document.getElementById("noteSelect")
.selectedIndex;
console.log(selectedNote);
var cityRef = db.collection("Users").doc(user.uid);
cityRef.update({
Notes: FieldValue.delete().arrayRemove(selectedNote)
});
}
});
}
});
};
});
所以我试着用这个
cityRef.update({
Notes: FieldValue.delete().arrayRemove(selectedNote)
});
要删除所选便笺,例如便笺中的数组1。我不希望删除整个Notes字段,只希望删除Notes字段中选定的数组。出于某种原因,我正在努力让它工作。任何帮助都将不胜感激Firebase数组不为其数组使用索引,而是需要数组项的值。这意味着您无法摆脱重复数据 您必须首先获取数组“Notes”,并从其索引返回其值 不过,我听说数组可能会出现顺序错误,因为它们不依赖于索引 改变这条线
Notes: FieldValue.delete().arrayRemove(selectedNote)
对此,
Notes: FieldValue.delete().arrayRemove(doc.data().Notes[selectedNote])
我建议您从本地存储的变量中提取数组的值,以确保值与编辑前和编辑后匹配。有人有什么想法吗?