2016-12-11 161 views
0

我正在使用Firebase實時數據庫發佈應用。如何檢索Firebase實時數據庫中的特定節點?

該應用程序需要書籤功能,但我不知道如何加載書籤(選定)的文章。

數據庫結構:

enter image description here

代碼:

databaseReference = databaseReference.child("post").child(getLen()).child("all-posts").child("-KYbMBatKdoWYw45-2pp").child("bookmarkUsers").orderByChild(myUserId).equalTo(myUserId); 

但是這個代碼不工作。爲什麼它不起作用?我認爲它只返回bookmarkUsers子節點。

我是否必須爲書籤創建另一個節點?

我已經創建了一個僅用於書籤的節點,但我無法管理bookmardCountstarCount同步。

謝謝!

回答

0

是否必須爲書籤創建另一個節點?

是的,你這樣做。要獲取更多信息,請閱讀關於在Firebase here中構建您的數據。

我已經創建了一個僅用於書籤的節點,但我無法管理bookmardCount和starCount同步。

您需要將bookmarkCountstarCount保留在發佈節點本身內。

1
DatabaseStorage Posts=FirebaseDatabase.getInstance().getReference().child("posts"); 

Posts.child("0").addValueEventListener(new ValueEventListener() { 
             @Override 
             public void onDataChange(DataSnapshot dataSnapshot) { 

       for(DataSnapshot DS: dataSnapshot) 
        { 
          //Get all other Values Except bookmarkusers and store them 

             String POST_NAME = dataSnapshot.getKey(); 
          Posts.child("0").child(POST_NAME)addValueEventListener(new ValueEventListener() { 
             @Override 
             public void onDataChange(DataSnapshot dataSnapshotf) { 


              for(DataSnapshot BOOK: dataSnapshotf) 
              { 
              //Collect all BookMarks and store them 
               } 

             } 

             @Override 
             public void onCancelled(DatabaseError databaseError) { 

             } 
            }); 
             } 

             @Override 
             public void onCancelled(DatabaseError databaseError) { 

             } 
            }); 
相關問題