如何在Firebase实时数据库中检索特定节点?

时间:2016-12-11 21:53:10

标签: android firebase firebase-realtime-database

我正在使用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同步。

谢谢!

2 个答案:

答案 0 :(得分: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) {

                                        }
                                    });

答案 1 :(得分:0)

  

我是否必须仅为书签创建另一个节点?

是的,你这样做。要获取更多信息,请阅读有关在firebase here中构建数据的信息。

  

我已经为节目创建了一个节点,但我无法管理bookmardCount和starCount同步。

您需要将bookmarkCountstarCount保留在帖子节点本身内。