2016-10-11 4 views
0

У меня JSON вот так.Запрос базы данных Firebase по значению ключа

livefeeds= { 
     "-KTn8pbqFHBUvgJ1Gwyl" =  { 
      category = Alerts; 
      text = "Samsung Galaxy Note 7 owners told to turn off device"; 
      timestamp = 1476179485648; 
      "user_id" = V7EFBV6uATf8urLXX9eK4EHhxmG2; 
     }; 
     "-KTn8pbrhHyNzeLh2vOq" =  { 
      category = News; 
      text = "Chicago Teachers Union, school board reach tentative contract agreement"; 
      timestamp = 1476179485648; 
      "user_id" = V7EFBV6uATf8urLXX9eK4EHhxmG2; 
     }; 
    } 

Мне нужно сделать запрос на основе ключа category.

Ex: Если я хочу только оповещения, он должен получать только значение категории, равное только данным «Оповещения».

Вот запрос на получение livefeeds.

[[self.ref queryOrderedByChild:@"livefeeds"] observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) { 
     NSLog(@"---> %@",snapshot.value); 
    }]; 

ответ

6

Первый идти до ребенка "livefeeds", а затем категорию "queryOrderedByChild" и использовать equal to ребенка, как таким образом

[[[[self.ref child:@"livefeeds"] queryOrderedByChild:@"category"] 
            queryEqualToValue:groupId] 
            observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) { 

    if (snapshot.value != [NSNull null]){ 
     for (NSDictionary *snap in [snapshot.value allValues]) { 
      NSLog(@"---> %@",snap); 
     } 
    } 
}]; 
+0

О, спасибо. я не знаю, как я пропустил это. Когда я попробовал, у меня получился «нулевой» результат. но теперь его работа, –

+0

@Cade рад, что это работает :) –

Смежные вопросы