我正在尝试将数据(而不是用户)存储在Firebase后端中。如何生成Firebase唯一标识并将其存储在子项中?我一直使用firebase(DatabaseReference Key)作为记录螺母的唯一标识符,键为空。
答案 0 :(得分:7)
您可以使用push().getKey()
获取唯一键
FirebaseDatabase database = FirebaseDatabase.getInstance();
String key = database.getReference("todoList").push().getKey();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put( key, todo.toFirebaseObject());
database.getReference("todoList").updateChildren(childUpdates, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError == null) {
}
}
});
更新特定字段部分
下的docs对此进行了说明此示例使用push()在包含帖子的节点中创建帖子 对于所有用户/ posts / $ postid并同时检索密钥 使用getKey()。然后可以使用密钥创建第二个条目 用户在/ user-posts / $ userid / $ postid。
的帖子
答案 1 :(得分:0)
FirebaseDatabase database = FirebaseDatabase.getInstance();
String key = database.getReference("todoList").push().getKey();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put( key, todo.toFirebaseObject());
database.getReference("todoList").updateChildren(childUpdates, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError == null) {
}
}
});