I have a problem with deleting an Object
out of an Array
in firestore
.
I have this data in firestore:
And now I would like to delete e.g the second Object
out of the posts Array
.
Code:
deletePic () {
let docId = `${this.currentUser.uid}`
fb.usersCollection.doc(docId).update({
posts: firebase.firestore.FieldValue.arrayRemove()
})
.catch(function(error) {
console.error("Error removing document: ", error);
});
}
But I do not know how to define arrayRemove()
These are the pictures and each one has a delete button to delete the picture.
EDIT: Warning Do not use my solution as it is more than 3 years old, nowadays there is new solution : https://stackoverflow.com/a/59745086/6668441 Mine was a pure js one and is a bad pattern.
Can't you use filter ? And then return the new posts array to your fb.usersCollection
method
//deleteId is the id from the post you want to delete
posts.filter(post => post.id !== deleteId);
edit : So This should be something like :
deletePic (deleteId) {
let docId = `${this.currentUser.uid}`
//deleteId is the id from the post you want to delete
fb.usersCollection.doc(docId).update({
posts: posts.filter(post => post.id !== deleteId);
})
.catch(function(error) {
console.error("Error removing document: ", error);
});
}