答案 0 :(得分:5)
根据您的问题,您可以使用此:
对于Android:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("posts");
String key = myRef.push().getKey(); //this returns the unique key generated by firebase
myRef.child(key).child("author").setValue("gracehop");//this creates the reqs key-value pair
myRef.child(key).child("title").setValue("Announcing COBOL");//this creates the reqs key-value pair
对于Web Dev:
var messageListRef = firebase.database().ref('posts');
var newMessageRef = messageListRef.push();
newMessageRef.set({
'author': 'gracehop',
'title': 'Announcing COBOL'
});
答案 1 :(得分:0)
如果你想检索随机密钥,那么你应该使用addChildEventValueListerner
,因为它会逐个为你的孩子提供帖子节点。
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference mref = firebaseDatabase.getReference();
mref.child("posts").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.hasChildren()) {
String value = dataSnapshot.getValue(String.class);
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 2 :(得分:0)
如果您知道任何字段的数据,请说您知道作者的姓名,那么您可以检索密钥/密钥(如果多个作者具有相同的名称)。这里非常清楚地描述:https://stackoverflow.com/a/38232280/5129997
答案 3 :(得分:-1)
你可以这样做
String key = ref.push().getKey();
ref.child(key).setValue(post);
希望这能回答你的问题:)