グギKariuki:
私はfirebaseで、このデータベース構造を持っている:ITSは、コレクト票になって。私はそのようななどの社長、大臣...など、いくつかのカテゴリがあります。「社長」席を争うすべての人々は、彼らのユニークなキーを使用して記載されている、とイムは、すべての有権者のメールを収集しようとしています。これは私のコードです:
public static void insertvote(String userkey, String categ, String candId) {
System.out.println("Returned candidate's userkey or ID: "+userkey);
System.out.println("Returned category: "+categ);
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference totalVotesRef = rootRef.child("votes").child(categ).child(candId);
Vote vote = new Vote(userkey);
totalVotesRef.setValue(vote.getVoterEmail());
}
別のユーザーがログインし投票、代わりに自分の電子メールを追加するには、そのは、既存の電子メールにoverwritterされたときに、私が持っている問題は、それです。私はこれをどのように解決することができますか?感謝
ダグ・スティーブンソン:
代わりに使用するのではsetValue()
、常に既存のデータを上書きコレクト電子メールへの場所、で、あなたが使用を検討すべきであるpush()
ランダムIDを使用して新しい子を生成する、最初。あなたは、特に、データのリストを扱う上でのドキュメントに精通したいと思うでしょうデータのリストに追加します。
totalVotesRef.push().setValue(vote.getVoterEmail())
各電子メールは、ランダムに生成された子値の下に表示されます。