2016-09-27 3 views
0

У меня есть следующая информация: JSON структура данных;Фильтр данных о погоде

{ 
    "USERS": { 
    "YjGJsvCb58OsTThv6JLmK1dMuHr1": { 
     "Email": "[email protected]" 
    }, 
    "zQpb7o18VzYsSoTQtT9DNhOqTUn2": { 
     "Email": "[email protected]" 
    } 
    }, 
    "POSTS": { 
    "-KSe4eJyenccPoC5T0zP": { 
     "addedByUser": "YjGJsvCb58OsTThv6JLmK1dMuHr1", 
     "content": "Post 1", 
     "cost": "600", 
     "duration": "Quarterly", 
     "latitude": "51.5099850000001", 
     "longitude": "-0.133528614416432", 
     "timestamp": "Tue 27 Sep" 
    }, 
    "-KSe4q1DXoulArzWm_Zm": { 
     "addedByUser": "YjGJsvCb58OsTThv6JLmK1dMuHr1", 
     "content": "Post 2", 
     "cost": "550", 
     "duration": "Monthly", 
     "latitude": "51.5100199999855", 
     "longitude": "-0.133507191218496", 
     "timestamp": "Tue 27 Sep" 
    } 
    } 
} 

Я хотел бы, чтобы отфильтровать POSTS и получить все POSTS, которые имеют duration в Monthly или любой другой пользователь выбрал. Как видите, каждому POST присваивается AutoID.

Результат Im ищет следует выплюнуть:

{ 
    "-KSe4q1DXoulArzWm_Zm": { 
    "addedByUser": "YjGJsvCb58OsTThv6JLmK1dMuHr1", 
    "content": "Post 2", 
    "cost": "550", 
    "duration": "Monthly", 
    "latitude": "51.5100199999855", 
    "longitude": "-0.133507191218496", 
    "timestamp": "Tue 27 Sep" 
    } 
} 

Но я не могу, за жизнь мне, поиск через AutoID сек. Я пробовал достаточно близко все методы queryFor & observe. Я просматривал через StackOverflow, и никакое решение, похоже, не работает. Правильно ли я структурировал свои данные? Причина, по которой мне нужен AutoID, заключается в том, что некоторые из сообщений могут быть одинаковыми.

Любая помощь была бы принята с благодарностью.

ответ

0

Попробуйте: -

FIRDatabase.database().reference().queryOrdered(byChild: "POSTS").queryEqual(toValue: "monthly").observeSingleEvent(of: .value, with: {(snap) in 


    if let postsDict = snap.value as! [String:AnyObject]{ 

     for each in postsDict { 

      print(each) 

      } 

    }else{ 

    //That username doesnt exists. 

    } 

}) 
+0

Примите это как ответ, если он решить проблему:) С Coding – Dravidian

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