2015-06-01 2 views
0

Мне было интересно, есть ли простой способ вытащить значение из одного массива на основе его соответствующего имени.перекрестные ссылки на два массива бамбы для получения данных

enter image description here

Здесь я получил по электронной почте от пользователей «купоны» коллекции. Теперь я хотел бы искать в коллекции «пользователи», найти аналогичную электронную почту и вывести соответствующее «Имя» («Wes Haque Enterprises») в переменную переменной $.

У меня уже есть ссылки на обе коллекции и объекты $ scope, которые хранятся в этих ссылках.

Я просто хотел узнать, есть ли простой способ пройти через объект $ scope.users, который ищет строку «[email protected]», а затем извлекает из него «Wes Haque Enterprises». Благодарю.

ответ

2

Предполагая, что вы действительно не хотите перебрать (траверс?) Над кучей массивов, но вместо того, чтобы запросить нужные данные ...

Вы можете запросить узел для пользователей данных, что вам нужно. В MacOS:

FQuery *allUsers = [usersRef queryOrderedByChild:@"emailAddress"]; 
FQuery *thisUser = [allUsers queryEqualToValue:@"[email protected]"]; 
[thisUser observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) { 
    for (FDataSnapshot *child in snapshot.children) { 
     NSLog(@"%@", child); 
    } 
}] 

Результат запроса будет содержать "WES Хак Enterprises"

Или

ref.orderByChild("emailAddress").equalTo("[email protected]").on("child_added", function(snapshot) { 
    console.log(snapshot.key()); 
}); 
+0

Я полагал, что, возможно, придется использовать функцию orderByChild. Благодарю. Я попробую. –

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