Обновление дочернего объекта без идентификатора в функции Firebase - PullRequest
0 голосов
/ 10 октября 2018

Надеюсь, вы мне поможете.

В триггере функции базы данных firebase я пытаюсь обновить объект ребенка, не зная идентификатора.

enter image description here

Итак, я хочу обновить элементы категории, зная об этом, но не зная о продукте.

Пожалуйста, помогите ...

1 Ответ

0 голосов
/ 10 октября 2018

Вы можете сначала получить данные категории.Предполагая, что вы знаете первый ключ (LNBxRLsPR0OY8-_Cnm) и у вас есть только один элемент категории (если более одной категории будет объяснено с помощью другой привязки кода)

firebase.database().ref('product/' + key + '/categoria').once('value', snapshot=>{
  if (snapshot.exists()) var categoriaKey = Object.keys(snapshot.val()[0])
  firebase.database().ref('product/' + key + '/' + categoriaKey).set(newCategoriaObject)
})

РЕДАКТИРОВАТЬ:

productList={}
firebase.database().ref('product').once('value', snap=>{
   snap.forEach(p=>{
      productList[p.key]=p.val().name; 
   })
}) 

с указанным выше списком объектов.Сценарий: вам нужно будет показать список названий продуктов пользователю.После того, как пользователь выбрал продукт, вы можете получить ключ с функцией ниже.

function findKey(productList, selectedProductName) { 
     for (let key in productList)
        if (productList[key] === selectedProductName) return key;
}

key = findKey(productList, selectedProductName);

Таким образом, с вышеуказанными простыми кодами вы получите ключ продукта, выбранный пользователем.Если у вас нет другого сценария :)

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