Firebase不一致的数据结构

时间:2016-07-28 10:50:26

标签: ios objective-c json firebase firebase-realtime-database

我正在评估Firebase作为我当前应用中Parse的替代品。但是,在查询远程数据时遇到了一个问题。

当我检索一个查询时,我得到了一个不一致的数据结构。

我的实时数据如下所示:

enter image description here enter image description here

以前在Parse中为“牛肉,鸡肉,猪肉”设置的Bool值将刚刚保存在一个数组中,我将根据包含该项的每一行的数组进行查询。但是,由于Firebase建议数组在JSON中不好,我必须将它们作为Bool实现并基于它们的属性进行查询,所以我的查询看起来像这样

 FIRDatabaseReference *ref =  [[FIRDatabase database] reference];     

    FIRDatabaseReference *path = [ref child:@"recipes"];

    FIRDatabaseQuery *query1 = [path queryOrderedByChild:@"beef"];

    FIRDatabaseQuery *query2 = [query1 queryEqualToValue:[NSNumber numberWithBool:YES]];
    [query2 observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
        [self hideSpinner];
        NSArray *recipes = (NSArray *)snapshot.value;

初始查询工作正常,数据返回如下

enter image description here

但是,如果我将查询修改为:

[path queryOrderedByChild:@"pork"];

数据结构完全不同,

enter image description here

然而它来自与之前的条目完全相同的json - 有没有人经历过类似的事情?它让我疯狂

0 个答案:

没有答案