我正在尝试在Firebase后端中存储数据(而非用户)。如何生成Firebase唯一标识符并将其存储在子代中?我一直在使用firebase(DatabaseReference Key)作为记录螺母的唯一标识符,该键为null。
最佳答案
您可以使用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。