Issue
I would like besides add new record , also change 'bill'. But I don't know what input in this string
const newPostKey = (child(ref(db), )).key;
This action in vuex, that I use for create request to firebase:
async updateInfo({ dispatch, commit, getters }, toUpdate) {
  try {
    const uid = await dispatch('getUid')
    const db = getDatabase();
    const updateData = { ...getters.info, ...toUpdate }
    const postListRef = ref(db, `/users/${uid}/info`);
    const newPostKey = (child(ref(db), ????)).key;
    const updates = {};
    updates[newPostKey] = updateData;
    update(postListRef, updates)
    commit('setInfo', updateData)
  } catch (e) {
    commit('setError', e)
    throw e
  }
},
Code work up to step const newPostKey..
If I input in this string 'info':
const newPostKey = (child(ref(db), 'info')).key;
Record will be added, but 'info' will be update incorrect:

Solution
If you just want to update the value of bill then you can try the following:
const userRef = ref(db, `/users/${uid}/info`);
update(userRef, { bill: 100 }).then(() => { // <-- replace 100 with your bill amount
  console.log("Bill Amount Updated")
}).catch(e => console.log(e))
If you want to increment the bill by a certain amount, you can do so using increment() function.
update(userRef, { bill: increment(100) }) // increment by 100 
Answered By - Dharmaraj Answer Checked By - Mildred Charles (PHPFixing Admin)
 
 Posts
Posts
 
 
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.