Обновление объекта в firebase с использованием угловых - PullRequest
0 голосов
/ 31 января 2019

Я использую приложение angular firebase, клиент обновил запрос на покупку какого-либо товара, используя приведенный ниже метод в firebase ...

 addPurchaseRequest(data, uid: string) {

 this.db.database.ref("/purchaserequests/").push(data);

 }

Я получил 2 покупки ниже в firebase

purchaserequests
  -LXZVHEpbxfpJzt_el10
      actualbonus: 12312,
      uid:1,
      status:,
      approvedon:''
  -LXFSADSpbxfpJzt_el11
      actualbonus: 12,
      uid:2,
      status:0,
      approvedon:''

теперь я хочу обновить статус и дату для uid = 1

 updatepurchaserequest(rid : string , amount : number , reason: string) {
  const dataObj = {
  status: 1
    approvedon: new Date().toLocaleDateString()
   };
  this.db.database.ref("/purchaserequests/").set(dataObj);

Но это не работает и заменяет полный объект запроса на покупку.

Мне нужно что-тонапример, где предложение Mysql, которое говорит обновление dataObj, где uid = 1

1 Ответ

0 голосов
/ 31 января 2019

Я думаю, что вы, вероятно, должны редактировать с помощью $ key или сделать свой UID похожим на ваш $ key

Когда вы получите свои данные, вы можете сделать это:

yourData.forEach( u => {
  const _data = u.payload.toJSON();
  _data['$key'] = u.key;
  this.inactiveUsers.unshift(_data);
})

С этимключ $ является частью ваших данных, и если вы хотите обновить его, вы можете сделать это:

this.db.database.ref(purchaserequests).child($key).update(item);

И, если вы хотите обновить один или несколько параметров:

this.db.database.ref(`purchaserequests/${$key}`).update({ [atribute]: value });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...