Как добавить данные в firebase? - PullRequest
0 голосов
/ 27 апреля 2018

Я хочу создать функцию like для рецепта, чтобы, когда пользователь нажимает кнопку «Мне нравится», он генерировал что-то подобное в Firebase:

users: 
   Key:
      like:
         recipe
            0: recipeKey,
            1: recipeKey
      about: aboutUser
      email: userEmail
      name: userName
      imgURL: userImageURL
      phone: userPhoneNumber
      zipcode: userZipcode

Я использую этот код, чтобы это произошло:

this.db.object("users/" + key + "/like/").update({
    recipe
 });

Где "recipe" содержит понравившийся "recipeKey". Он генерирует что-то вроде этого:

users: 
  Key:
      like:
         recipe: recipeKey
      about: aboutUser
      email: userEmail
      name: userName
      imgURL: userImageURL
      phone: userPhoneNumber
      zipcode: userZipcode

Проблема в том, что он не добавляет новый recipeKey. Он всегда перезаписывает предыдущий recipeKey новым.

1 Ответ

0 голосов
/ 27 апреля 2018

Вам нужно использовать функцию set вместо update, что-то вроде;

function addNewRecipeKey(newRecipeKey, key){
    var recipe = [];
    recipeRef=firebase.database().ref("users/" + key + "/like/recipe");
    recipeRef.once('value', snap=>{
      if (snap.exists()) recipe = snap.val();
       recipe.push(newRecipeKey); // newRecipe that you want to add into.
       recipeRef.set(recipe);
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...