Firebase orderbychild () с указанным дочерним ключом не работает

Я пытаюсь получить данные, которые имеют текущий uid пользователя и отсортировать по времени, но каким-то образом мой запрос приносит данные, которые также имеют другой uid

Это мой запрос

 FirebaseDatabase.getInstance().getReference().child("posts").orderByChild("uid_timestamp/"+uid).limitToLast(12)
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    items.clear();
                    for (DataSnapshot item : dataSnapshot.getChildren()) {
                        items.add(item.getValue(PostModel.class));
                        Log.d("checking","writerUid "+item.getValue(PostModel.class).writerUid);
                    }

Это моя база данных

enter image description here

Итак, writerUid находится в uid_timestamp со временем. Я использую неправильный дочерний ключ? Мне нужна ваша помощь!

похоже, что для конкретного имени "uid_timestamp" + uid не будет дочернего элемента

Jinson Paul 26.10.2018 06:14

что это значит ?? и я забыл поставить "/" за uid_timestamp в этом коде, мой код похож на orderByChild ("uid_timestamp /" + uid)

hwan 26.10.2018 06:27

Я не думаю, что это сработает, упорядочивайте дочерние фильтры только в одном дочернем элементе, если вы хотите отфильтровать, вам нужно добавить исходное значение uid вместо uid в uid_timestamp, например gsf76vhdvc76vvhdchcdgv_timestamp

Jinson Paul 26.10.2018 06:40

@hwan firebase support orderby только до одного уровня, вы можете фильтровать свое сообщение по уникальному идентификатору, но не по временной метке uid

Shanmugam 26.10.2018 06:43

@JinsonPaul, я вижу, спасибо!

hwan 26.10.2018 06:53

@Shanmugam о, большое спасибо, я понял, что ты имеешь в виду

hwan 26.10.2018 06:53

@hwan добро пожаловать ...

Shanmugam 26.10.2018 07:18
0
7
43
0

Другие вопросы по теме