[英]Write data to document on creation
我是Firebase云功能的新手,我试图在每次创建文档时将数据写到文档中,但是从不写入数据,并且在控制台中没有出现错误。 我错过了什么? 我正在使用Firestore。
exports.updateclient = functions.firestore
.document('patients/{clientId}')
.onCreate(async (snap, context) => {
const database = admin.firestore();
const settings = {timestampsInSnapshots: true};
database.settings(settings);
const clientId= context.params.clientId;
const patientRef = database.collection('patient').doc(clientId);
return patientRef.set({ id: clientId}, {merge: true});
});
您正在触发“患者”集合中的文档:
exports.updateclient = functions.firestore
.document('patients/{clientId}')
但是,您正在写回另一个名为“患者”的集合中的文档:
const patientRef = database.collection('patient').doc(clientId);
您是要写回“患者”集合而不是“患者”吗?
正如道格已经提到的,您尝试在其他集合中更新患者文档。 如果确实是错误,请考虑使用更新
snap.ref.update({
id: clientId
});
代替。 这将使用从函数触发器上获得的快照中获得的现有引用,并且还将使用更新而不是合并集,这在语法上更加正确。 它还将有助于防止出现上述潜在错误之类的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.