How To Store A Element Inside A Map Using Dynamic Variable In Firebase

Viewed 33

I Wanted To Know How We Can Store Elements(Map) Inside A Map With Dynamic Element Names. I Tried The Following

var activequestionid = "12201"
var aqid = "answers."+activequestionid
await updateDoc((doc(db, "tests", testid), {
      [`${aqid}`]: {ans:ans,type:type,time:serverTimestamp()}
    }))
var activequestionid = "12201"
var aqid = "answers."+activequestionid
await updateDoc((doc(db, "tests", testid), {
      [aqid]: {ans:ans,type:type,time:serverTimestamp()}
    }))

Also My Map Is As Follows:

testid(document)
    answers(map)
        12201(map)

But Both Give The Same Error: Expected type 'Pc', but it was: a custom Object object Any Help On This Issue Is Appreciated!

1 Answers

The updateDoc() function takes 2 parameters - a DocumentReference and the data. You have () around both of them so essentially that's 1 parameter. Try removing them:

var activequestionid = "12201"
var aqid = "answers."+activequestionid

await updateDoc(
  doc(db, "tests", testid), {
    [aqid]: {
      ans: ans,
      type: type,
      time: serverTimestamp()
    }
  })
Related