Я делаю приложение в реальном времени с AngularJS и Firebase. Я храню массив данных (игроков). Ниже вы можете увидеть образец моей структуры данных.Firebase получить значение из массива
я могу получить все игроки этой конкретной игре, но как я могу получить, например, игрок «тест»? Ключ представляет собой сгенерированное значение:
Game.find(gameId).child('/players/').push(player);
Тогда я подумал, почему бы мне не просто «обновление» '/players/'+name
и установить там имя. Но к сожалению я получаю обратно объекты внутри объекта:
{
players : {
"name":"...",
"test":"moretest"
}
}
я могу получить доступ к этим свойствам, но я не могу цикл над ними, потому что это не массив.
Так что в основном я хочу, чтобы «linq-wise» получал игрока из массива.
Game.find(gameId).child('/players/').where(name == ...);
Заранее спасибо
Edit:
Благодарим вас за ответ, см. Мой отредактированный пост. Как вы видите, игрок содержит больше, чем просто имя. В принципе, мне нужно установить для свойства «turn» значение true для первого игрока, найденного в коллекции/players. Но, как я уже сказал, если я пойду искать всех игроков, он не вернет массив. Он возвращает объект с объектами. ng-repeat не работает, и я не знаю, как установить свойство turn для true для первого игрока. – Dieterg
Вы можете использовать ng-repeat с объектами. Используйте 'ng-repeat =" (ключ, значение) в коллекции ''. – Anant
Спасибо, узнал что-то новое! :-) – Dieterg