Я хотел бы получить помощь в удалении базы данных на Firebase:
У узла пользовательской ленты есть идентификатор пользователя (например, Toof4u ...), за которым следует postId. У меня нет проблем с удалением postId из узла текущего пользователя, а также из хранилища, но у меня возникают проблемы при удалении того же postId (причина, по которой другие пользователи имеют postId, поскольку они следовали за текущим пользователем) из узлов других пользователей.
Соответствующий код в моей функции удаления:
func deleteFromFirebase(post: Post){
guard let uid = Auth.auth().currentUser?.uid else {return}
guard let postId = post.postId else {return}
let otherUser = post.user.uid
let ref = Database.database().reference().child("video_list").child(postId)
print(postId)
// delete database post
ref.removeValue(completionBlock: { (err, ref) in
if let _ = err {
return
}
// delete from all other database
USER_POSTS_REF.child(uid).child(postId).removeValue(completionBlock: { (err, ref) in
//...
USER_FEED_REF.child(uid).child(postId).removeValue(completionBlock: { (err, ref) in
//...
USER_FEED_REF.child(otherUser).child(postId).removeValue(completionBlock: { (err, ref) in
//... ...
Я видел людей, задающих аналогичный вопрос, но 1) который был до сентября 2018 года (обновление Firebase 5); 2) это было сделано циклом через всех детей от всех пользователей.
Какой самый эффективный способ сделать это сейчас? Если это все еще 2), стоит ли много данных или памяти, чтобы выполнить это?