我以对象形式存储数据,并且我想使用云函数将诸如“Status”之类的字段添加或更新到每个对象中,例如invitee1和invitee2。我尝试了但是它在所有对象的末尾更新。如何使用云功能或Firestore触发器在每个对象的末尾添加字段。当我使用更新语句
时,我收到此类错误var dbref = db1.collection('deyaPayUsers').doc(sendauthid).collection('Split').doc(sendauthid).collection('SentInvitations').doc(senderautoid);
var msg1 = receiverph +"" + status +" to pay $"+document.Amount;
var fulldoc = dbref.get()
.then(doc => {
if(!doc.exists){
console.log('No such document');
}else{
console.log('Document data :',doc.data());
d1 = doc.data();
console.log("d1 is"+d1);
for(var k in d1){
var p = d1[k].PhoneNumber;
console.log("ivitees phone"+p);
if(receiverph == p)
{
console.log("p"+PhoneNumber);
console.log("the phonenumber matches");
var updated = dbref.p.update({"Status":status});// **i got error here like "update is not define"**
我尝试了另一种更新方式
var updated = dbref.d1 [k] .PhoneNumber.update({“Status”:status}); //这里我收到的错误如“无法读取未定义的invitee1属性”
如何解决该错误。
答案 0 :(得分:0)
您不能直接更新该字段。这样做:
参考文件,
for(var k in d1) {
if (receiverph === d1[k].PhoneNumber) {
doc.ref.update({
[`${k}.Status`]: status
})
}
}