У Firebase нет оператора запроса, который соответствует элементам в массиве. Фактически: Firebase рекомендует не использовать массивы для ситуаций, подобных тем, которые у вас есть. Вместо этого, хранить данные, как это:
advisors-countries: {
user1: {
destinations: {
Angola: true,
Australia: true
}
},
user2: {
destinations: {
Angola: true,
Austria: true,
Jordan: true
}
},
user3: {
destinations: {
Austria: true
Egypt: true,
Jordan: true
}
}
}
Теперь вы можете запросить пользователей, которые имеют назначения Иорданию:
var users = ref.child('advisors-countries').orderByChild('destinations/Jordan')
.equalTo(true);
А затем связать это с вашей сферы AngularJS с:
$scope.users = $firebaseArray(users);
Этот тип структуры данных называется индексом, и вы часто обнаружите, что вам нужно добавлять определенные индексы в свою базу данных NoSQL, чтобы соответствовать требованиям к запросу вашего приложения. См. Это article on NoSQL data modeling за хорошее введение в тему.
Ответ ниже. В следующий раз, пожалуйста, не добавляйте изображение JSON к вопросу, но добавляйте JSON как (отформатированный) текст. –