Token.create({
type: 'invite-into-org',
email: email,
initiator: organization,
sender: req.user,
metadata: {
firstName: req.body.firstName,
lastName: req.body.lastName,
role: req.body.role
}
}).exec(function(err, token) {
if(err) { return callback(err); }
console.log("THE TOKEN", token)
callback(null, token);
});
打印以控制以下内容:
THE TOKEN { type: 'invite-into-org',
19:14:39 web.1 | email: 'somoone@gmail.com',
19:14:39 web.1 | initiator: 8,
19:14:39 web.1 | sender: 9,
19:14:39 web.1 | metadata: { firstName: 'Vasyl', lastName: 'Romanchak', role: 'author' },
19:14:39 web.1 | createdAt: '2015-07-03T16:14:39.964Z',
19:14:39 web.1 | updatedAt: '2015-07-03T16:14:39.964Z',
19:14:39 web.1 | id: '5596b4efe4eccd7b519eedef' }
有没有办法填充发起人和&发件人字段?
Token.create({})。populate(' sender')。exec(console.log) - 仍然相同
答案 0 :(得分:4)
我的解决方案使用最简单的方式重新查询结果,但它使用Promise来获得更好的可读性。
Token
.create({
type : 'invite-into-org',
email : email,
initiator: organization,
sender : req.user,
metadata : {
firstName: req.body.firstName,
lastName : req.body.lastName,
role : req.body.role
}
})
.then(function (token) {
return Token.findOne({id: token.id}).populateAll();
})
.then(function (record) {
console.log('THE TOKEN', record);
callback(null, record);
})
.catch(callback);