Как получить список объектов с идентификатором, который не является первичным ключом объекта в firebase DataRealtime - PullRequest
0 голосов
/ 11 января 2019

Мне нужно получить объекты сообщения с идентификатором, который не является первичным ключом объекта в firebase DataRealtime. Как я могу это сделать?

Это приложение для чата, которое изучает базу данных. Я могу получать все сообщения, используя информацию из документов .

Но я не знаю, как получать сообщения с userid=1.

Мои данные о пожарной базе:

message 
   -LVr5ctrnbRXtZ7lxcL1
        text: "Hello nice to meet you"
        time: 1547112680605
        userid: 2
  -LVr5msnECOEfsghjMZn
        text: "i'm here\nwho are u"
        time: 1547112721497
        userid: 1
  -LVrCX797YRZVg2qPBIS
        text: "hi\n"
        time: 1547114487906
        userid: 1
  -LVrNWDwE-jOPMzUX4zY
        text: "hahaa"
        time: 1547117401142
        userid: 3
  -LVunQcfAJW4yCYtPWzp
        text: "hoho"
        time: 1547174787733
        userid: 1

Мой текущий код:

   mFirebaseDatabase = FirebaseDatabase.getInstance();
    mMessageDatabaseReference = mFirebaseDatabase.getReference().child("message/userid");
    Query queryget=mMessageDatabaseReference.equalTo(1);
    mChildEventListener = new ChildEventListener() {
        @Override
        public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
            FriendlyMessage friendlyMessage=dataSnapshot.getValue(FriendlyMessage.class);
            mMessageAdapter.add(friendlyMessage);
        }
    queryget.addChildEventListener(mChildEventListener);

Я хотел бы получить список сообщений, которые имеют userid=1, но я получаю только null.

1 Ответ

0 голосов
/ 11 января 2019

Неверная ссылка на вашего ребенка. В вашем случае вы должны получить все сообщения как объекты, а затем отсортировать их, где userId = 1.

Вы можете сделать это с:

mMessageDatabaseReference = mFirebaseDatabase.getReference().child("message");
Query queryget = mMessageDatabaseReference.orderBy("userid").equalTo(1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...