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

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!



Solution 1:[1]

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()
    }
  })

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1