我正在努力更好地了解Firebase的数据扇出是如何有益的。
为了帮助我进行调查,我提出了一个问题:数据是否需要使用方法。请参阅以下文档中的示例:
private void writeNewPost(String userId, String username, String title, String body) {
// Create new post at /user-posts/$userid/$postid and at
// /posts/$postid simultaneously
String key = mDatabase.child("posts").push().getKey();
Post post = new Post(userId, username, title, body);
Map<String, Object> postValues = post.toMap();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put("/posts/" + key, postValues);
childUpdates.put("/user-posts/" + userId + "/" + key, postValues);
mDatabase.updateChildren(childUpdates);
}
我是不是可以用这个来达到同样的目的:
private void writeNewPost(String userId, String username, String title, String body) {
String key = mDatabase.child("posts").push().getKey();
Post post = new Post(userId, username, title, body);
mDatabase.child(posts).child(key).setValue(post);
mDatabase.child(user-posts).child(userId).child(key).setValue(post);
}
我以这种方式提出这个问题的目的是梳理出可能未在文档中明确传达的潜在好处。 我特意希望保持重复的数据条目同步。但是,我可以再次使用类似的方法,即在两个独立定义的路径上执行相同的子更新。