2017-01-10 3 views
-1

У меня есть этот код для чтения данных из Firebase с условием, но мне нужно несколько условий. Мне нужно еще одно условие для чтения. Я не знаю, как это сделать, я основал его, но он мне не нужен. Могу ли я помочь кому-нибудь, как это сделать?Несколько условий для запроса Firebase

ref?.queryOrdered(byChild: "project").queryEqual(toValue: "inbox").observe(.value, with: { (snapshot:FIRDataSnapshot) in 
     var newTasks = [Task]() 

     for sweet in snapshot.children { 
      let sweetObject = Task(snapshot: sweet as! FIRDataSnapshot) 
      newSweets.append(sweetObject) 
     } 

     self.tasks = newTasks 
     self.tableView.reloadData() 

    }) { (error:Error) -> Void in 
     print(error.localizedDescription) 
    } 

данных в firebase:

data in firebase

+0

Можете ли вы предоставить образец данных вашей базы данных? – hotrod

+0

Я редактирую ответ. Это в нем. – user7355869

+0

Итак, чего именно вы пытаетесь достичь. Читая код, я вижу, что вы пытаетесь заказать дочерние узлы «Задачи» по их дочернему «проекту». Вам нужно только «Задачи», чей дочерний узел 'project' равен' 'inbox?'? – hotrod

ответ

3

Это не представляется возможным. Вы должны либо

1. фильтр больше всего на сервере, всё остальное на клиенте

или

2. добавить свойство, которое сочетает в себе ценности чтобы проголосовать

или

3. создать пользовательский индекс программно

Все эти цитаты приходят из этого прекрасного ответа здесь на this вопрос.

Надеюсь, это поможет.

+1

Большое спасибо :) – user7355869

+0

@ пользователь7355869 без проблем! Помните, что это может измениться в предстоящих обновлениях API Query Firebase. – hotrod

+0

Все будет хорошо. :) – user7355869

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