Quando adiciono mais dados no Firebase, a key é determinada automaticamente. Como faço para eu mesmo determinar essa key? Preciso fazer assim em um projeto Flutter. Olhei vários tópicos com exemplos em JAVA e JavaScript, mas nenhum funcionou.
Tudo depende de como você está criando, como vc não postou código nenhum, não tem como te orientar em algo que vc fez, mas basicamente seria isso:
mRef.child("member").setValue("Fulano de Tal");
Aí depois você faz o child
adiciona os values dentro do "Fulano de Tal"
Abner desculpe a falha em não postar o código. Aqui está a função que cria um novo “member” no banco de dados, porém fazendo dessa forma a key é criada conforme eu circulei no primeiro anexo. Como eu poderia fazer para que eu possa determinar a key?
static Future<String> createNewMember(String maxKey) async {
var member = <String, dynamic> {
'name' : '',
'instrument' : '',
'status' : '1',
'super_user' : '',
'tel' : '',
};
DatabaseReference reference = FirebaseDatabase.instance
.reference()
.child("data")
.child("member")
.push();
reference.set(member);
return null;
}
Puts, agora que reli a pergunta e vi que você colocou que era Flutter
, eu não entendo muito, mas vamos ver se conseguimos algo.
Vamos refazer os passos, o que você fez pra ele cadastrar os usuários: 0; 1; 2; 3; 4
?
Eu creio que se vc fizer isso:
var minhaKey = reference.key;
vc tem o retorno que Key que foi cadastrada, não sei como funciona direito no Flutter, mas talvez vc consiga fazer o update após a inserção. Tipo:
DatabaseReference reference = FirebaseDatabase.instance
.reference()
.child("data")
.child("member")
.child(minhaKey);
reference.update("testeGUJ");