Как установить массив / функцию на узел firebase - PullRequest
0 голосов
/ 02 августа 2020

Ниже приведен код JS, который в настоящее время работает для каждого пользователя. Игрок выбирает количество игроков (10) в пустой массив, а затем это сохраняется в usersRef2 месте в базе данных fireabse:

$scope.history=[];
$scope.total = 100000000;



var userId = firebase.auth().currentUser.uid;
let players = firebase.database().ref('players');
let usersRef2 = firebase.database().ref('users/' + userId +'/picked');

$scope.players = $firebaseArray(players);

//buying function
 $scope.buy = function(player) {
        //remove if already added locally
        var index = $scope.history.indexOf(player);
        
        if(index>=0 ){
            $scope.history.splice(index,1);
            
            return;
        }
    //max 10 allowed
    if($scope.history.length>=10 || $scope.picked.length>=10){
        alert('max 10 players allowed');
        return;
    }
    //to make sure money doesn't go below $10,000,000
    if($scope.total<0){
        alert('Oops! You have run out of cash');
        return;
    }

    var selected = $scope.history.reduce(function(a,b){
        a[b.position] = (a[b.position] || 0) + 1;
        return a;
    }, {}) || {};

    if(!selected[player.position] || selected[player.position]<4 && $scope.total>0){
        $scope.history.push(player);
        $scope.picked.push(player.id);
           
    }else{
        alert('You can add only four players per position');
         
    }
  };

А ниже приведен снимок моего узла firebase:

введите описание изображения здесь

Я могу использовать и работать с моим массивом выбранных игроков в $scope, но когда я пытаюсь set вернуть этот массив обратно в другую часть моего узла firebase, я получаю сообщение об ошибке ниже

Первый аргумент содержит недопустимый ключ ($ id) в свойстве users.hm60NktbcNdP7W1ECDzdJBqMfqW2.picked.0. Ключи должны быть непустыми строками и не могут содержать ".", "#", "$", "/", "[" Или "]"

Я новичок в Firebase и Angular JS, но я надеюсь, что возврат к узлу firebase может быть достигнут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...