【发布时间】:2016-10-13 19:31:29
【问题描述】:
我正在尝试将数据(不是用户)存储在 Firebase 后端。如何生成 Firebase 唯一标识符并将其存储在孩子中?我一直使用firebase(DatabaseReference Key)作为记录螺母的唯一标识符,该键为空。
【问题讨论】:
标签: android firebase firebase-realtime-database
我正在尝试将数据(不是用户)存储在 Firebase 后端。如何生成 Firebase 唯一标识符并将其存储在孩子中?我一直使用firebase(DatabaseReference Key)作为记录螺母的唯一标识符,该键为空。
【问题讨论】:
标签: android firebase firebase-realtime-database
您可以使用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 的帖子。
【讨论】:
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) {
}
}
});
【讨论】: