繁体   English   中英

在创建时将数据写入文档

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM