Javascript MongoDB触发函数返回';无法访问未定义的';

Javascript MongoDB触发函数返回';无法访问未定义的';,javascript,mongodb,triggers,Javascript,Mongodb,Triggers,这是一个类似于以下中端代码的代码 尝试从数据库链接guest.name属性时出现问题。它返回一个错误,说明: 无法访问未定义的成员的名称 我已向各自的集合和数据库提供了所有触发器源详细信息。 如果我删除了对guest.name的引用,代码就可以正常工作。似乎代码var users=changevent.fullDocument未检索任何信息。换句话说,用户变量返回未定义 有人知道为什么吗 exports = function(changeEvent) { const

这是一个类似于以下中端代码的代码

尝试从数据库链接
guest.name
属性时出现问题。它返回一个错误,说明:

无法访问未定义的成员的名称

我已向各自的集合和数据库提供了所有触发器源详细信息。 如果我删除了对
guest.name
的引用,代码就可以正常工作。似乎代码
var users=changevent.fullDocument未检索任何信息。换句话说,
用户
变量返回
未定义

有人知道为什么吗

exports = function(changeEvent) {
          
    const sendGridApiUrl = "https://api.sendgrid.com/v3/mail/send";
    
    // Access to SendGrid API Key value stored in Stitch Secret
    const sendGridApiKey = "API_KEY";
    
     // Access the latest version of the document
    var users = changeEvent.fullDocument;
    
    // Build email data 
    console.log('==> ', JSON.stringify(users));
    var emailData = BuildEmailData(users);
    console.log('==> ', JSON.stringify(emailData));

    //  Access the default http client and execute a POST request
    return context.http.post({
      url: sendGridApiUrl, headers: {Authorization: [`Bearer ${sendGridApiKey}`]}, body: emailData, encodeBodyAsJSON: true})
          .then(res =>{
            console.log ('-->', res.statusCode); // For logging
          });
  
};




/**
 * This function returns a JSON object that respects the format of SendGrid API Request Body
 * 
 * @param {object} inserted document - JSON object
 * @return {object} returns a JSON object
 * 
*/
  function BuildEmailData (guest){
    
    var recipientEmail = "mail@gmail.com";
    var recipientName = guest.name;
    var senderName = "Your Party Buddy";
    var senderEmail = "second_mail@gmail.com";
    var subject = "Invitation to mega party";
    
    var emailData = {
      "personalizations": [
       {
          "to": [
            {
              "email": recipientEmail
            }
          ],
          "subject": subject
        }
      ],
      "from": {
        "email": senderEmail
      },
      "content": [
        {
          "type": "text/html",
          "value": BuildEmailContentFromTemplate(senderName, recipientName)
        }
      ]
      };
    
   return emailData;
  }
  
  
  
  
/**
 * This function builds a HTML email content
 * 
 * @param {string} sender name
 * @param {string} recipient name
 * @return {string} returns a string
 * 
*/
  function BuildEmailContentFromTemplate (senderName, recipientName){
  return `
  <!DOCTYPE html>
  <html>
  <head><title>Invitation</title></head>
  <body>
    <div>
        <h3>Dear ${recipientName},</h3>
        <p> <b>I am holding the wildest party</b>,
        <br>
        Please come by my place at 7 for drinks, cake and chicken wings (and bring your dancing shoes!).
        </p>
        <p>Cheers!
        <br>
        ${senderName}
        </p>
   </div>
   
  </body>
</html>`;
  }
exports=函数(changeEvent){
const sendGridApiUrl=”https://api.sendgrid.com/v3/mail/send";
//访问存储在Stitch Secret中的SendGrid API键值
const sendGridApiKey=“API_KEY”;
//访问文档的最新版本
var users=changevent.fullDocument;
//构建电子邮件数据
console.log('==>',JSON.stringify(用户));
var emailData=BuildEmailData(用户);
console.log('==>',JSON.stringify(emailData));
//访问默认http客户端并执行POST请求
返回context.http.post({
url:sendGridApiUrl,标题:{授权:[`Bearer${sendGridApiKey}`]},正文:emailData,encodeBodyAsJSON:true})
。然后(res=>{
console.log('-->',res.statusCode);//用于记录
});
};
/**
*此函数返回符合SendGrid API请求正文格式的JSON对象
* 
*@param{object}插入的文档-JSON对象
*@return{object}返回一个JSON对象
* 
*/
函数BuildEmailData(来宾){
var recipientEmail=”mail@gmail.com";
var recipientName=guest.name;
var senderName=“你的派对伙伴”;
var senderEmail=“秒_mail@gmail.com";
var subject=“邀请参加大型聚会”;
var emailData={
“个性化”:[
{
“致”:[
{
“电子邮件”:收件人电子邮件
}
],
“主体”:主体
}
],
“发件人”:{
“电子邮件”:senderEmail
},
“内容”:[
{
“类型”:“文本/html”,
“值”:BuildEmailContentFromTemplate(senderName,recipientName)
}
]
};
返回电子邮件数据;
}
/**
*此函数用于生成HTML电子邮件内容
* 
*@param{string}发送方名称
*@param{string}收件人名称
*@return{string}返回一个字符串
* 
*/
函数BuildEmailContentFromTemplate(senderName,recipientName){
返回`
邀请
亲爱的${recipientName},
我正在举办最疯狂的派对,

请7点到我家来喝饮料、吃蛋糕和鸡翅(带上你的舞鞋!)。

干杯!
${senderName}

`; }