Предполагая, что вы сохранили свою структуру базы данных от другого вопроса , где я предоставил вам ответ, а вы используете класс модели с именем Fraise
, чтобы удалить / отредактировать фотографию от определенного пользователя, пожалуйста, используйте следующий код:
val uid = FirebaseAuth.getInstance().currentUser!!.uid
val rootRef = FirebaseFirestore.getInstance()
val query = rootRef.collection("Fraise").whereEqualTo("uid", uid)
query.get().addOnCompleteListener(OnCompleteListener<QuerySnapshot> { task ->
if (task.isSuccessful) {
for (document in task.result) {
val fraise = document.toObject(Fraise::class.java!!)
fraise!!.setPhoto_url(new_photo_uri)
rootRef.collection("Fraise").document(document.id).set(fraise)
}
}
})
Если у вас нет класса модели, вы можете выполнить обновление, используя Map
, например:
val uid = FirebaseAuth.getInstance().currentUser!!.uid
val rootRef = FirebaseFirestore.getInstance()
val query = rootRef.collection("Fraise").whereEqualTo("uid", uid)
query.get().addOnCompleteListener(OnCompleteListener<QuerySnapshot> { task ->
if (task.isSuccessful) {
for (document in task.result) {
val new_photo_uri = HashMap<String, Any>()
new_photo_uri["photo_uri"] = new_photo_uri
rootRef.collection("Fraise").document(document.id).set(new_photo_uri, SetOptions.merge())
}
}
})