Можно ли получить доступ / передать значение поля (в данном случае имя игровой комнаты) коллекции Allusers из / в другую коллекцию (в данном случае игровые комнаты)?
, чтобы я мог сделать ниже:
ref.collection("GameRooms").document(gameroomname).addSnapshotListener(){
}
Скриншот Allusers:
Скриншот игровых комнат:
Послепытаясь, приведенный ниже код работает. Но это правильный способ сделать это или есть какой-либо способ лучше:
mFirestore.collection("AllUsers").document(SplitString(currentUser.email!!)).get().addOnSuccessListener(OnSuccessListener<DocumentSnapshot> { documentSnapshot ->
var gameRoomName: String = ""
if (documentSnapshot.exists()) {
gameRoomName = documentSnapshot.getString("gameroomname")!!
}
mFirestore.collection("GameRooms").document(gameRoomName).collection("Words called").addSnapshotListener(EventListener<QuerySnapshot>(){ queryDocumentSnapshot, e->
selectedWordsList.clear()
if (!queryDocumentSnapshot!!.isEmpty) {
val gameRoomList = queryDocumentSnapshot.documents
for (doc: DocumentSnapshot in gameRoomList) {
var addWord: String = ""
if (doc.get("addword") != null) {
addWord = doc.get("addword").toString()
}
val selectedGameRoomList: SelectedWordsObject = SelectedWordsObject(addWord, false)
selectedWordsList.add(selectedGameRoomList)
mSelectedWordsAdapter.notifyDataSetChanged()
}
mSelectedWordsAdapter.notifyItemChanged(0)
}
else {
Toast.makeText(this@Screen, "Document does not exist", Toast.LENGTH_LONG).show()
}
})
}).addOnFailureListener(OnFailureListener { e->
val error=e.message
Toast.makeText(this@Screen,"Error:"+error, Toast.LENGTH_LONG).show()
})