我正在尝试在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。

09-25 17:44