我正在使用以下代码创建用户帐户:
User.create({
email: req.param('email'),
password: req.param('password')
}).exec(function(err, user) {
// I want to get the user ID in here...
});
我想在回调函数中获取新创建的用户ID。如果我检查回调函数的user
参数为exec()
,则它没有ID字段,只有我传入的字段(email
,password
)和时间戳(createdAt
,updatedAt
)。
我能想到的唯一另一种方法是在创建后通过他们的电子邮件地址再次查找用户,但这是一种非常糟糕的方式。
如何获取新创建用户的ID?
答案 0 :(得分:0)
您的代码似乎没问题。您应该从user.id
我的测试:
$ sails new app
$ cd app
$ sails generate api user
$ sails console
sails> User.create({email: 'email@example.com', password: '1234'}, function(err, user {console.log(user.id); }); // 1
答案 1 :(得分:0)
您不应该使用exec
。您应该将回调作为create
User.create({
email: req.param('email'),
password: req.param('password')
}, function(err, user) {
console.log(user.id);
});