节点js奇怪的对象行为

时间:2015-08-22 13:52:21

标签: node.js email object

我尝试使用节点js发送电子邮件,但它一切正常,但是当我从我的数据库设置信息时,该对象无法获取它们。

var mailOptions = {
    from: template.from, // sender address
    to: userInfo.email, // list of receivers
    subject: template.subject, // Subject line
    html: template.html// html body
};

return callback(mailOptions + ' || ' + template);

mailOptions为我提供了只有2个值的对象,而来自DB的对象很好:

{"to":"r3mix.il@gmail.com","subject":"Thanks for sign in!"} || { _id: 55d874aef31ff001a6a0a877,
name: 'register_welcome',
subject: 'Thanks for sign in!',
from: 'info@wttubes.com',
html: '<html><body><h1>Thanks |username|.</h1><br/><br/><h2>Please <a href=\'#\'>Click here</a>.</h2></body></html>' 

但是我试图在同一个对象上做这个:

return callback(mailOptions);

我得到了:

{"to":"XXX@gmail.com","subject":"Thanks for sign in!"}

任何想法有什么不对?我所做的就是将数据从数据库设置到对象,但似乎对象没有获得所有信息,因为我确定template对象具有这些值!

编辑:

我尝试更改数据库中的值以检查值是否有问题,但仍然是相同的结果!

{"to":"r3mix.il@gmail.com","subject":"Thanks for sign in!"} || { _id: 55d874aef31ff001a6a0a877,
name: 'register_welcome',
subject: 'Thanks for sign in!',
from: 'test',
html: 'test' }

还尝试更改数据库中字段的名称,但仍然给出了相同的结果。

{"to":"r3mix.il@gmail.com","subject":"Thanks for sign in!"} || { _id: 55d874aef31ff001a6a0a877,
name: 'register_welcome',
subject: 'Thanks for sign in!',
send_html: 'test',
send_from: 'test' }

2 个答案:

答案 0 :(得分:1)

var mailOptions = {
    from: template.from, // sender address
    to: userInfo.email, // list of receivers
    subject: template.subject, // Subject line
    html: template.html// html body
};

return callback(mailOptions);

您正在将对象转换为字符串。

答案 1 :(得分:-1)

好吧所以我是傻瓜,我的架构错了,只有2个值是正确的,因为我将名称更改为字段,我忘了更改架构。

如果更改字段名称,请不要忘记更改架构!!!