2014-10-30 85 views
0

的ID字段我用这样​​的代码创建用户帐户:获取创建的模型

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字段,只有我传入的字段(emailpassword)和时间戳(createdAtupdatedAt)。

我能想到的唯一方法就是在用户的电子邮件地址创建完成后再次查找用户,但这是一个非常糟糕的方式。

如何获取新创建的用户的ID?

回答

0

你不应该使用exec。您应该提供回复作为第二个参数create

User.create({ 
    email: req.param('email'), 
    password: req.param('password') 
}, function(err, user) { 
    console.log(user.id); 
}); 
0

你的代码似乎没问题。你应该从user.id

我的测试得到ID:

$ sails new app 
$ cd app 
$ sails generate api user 
$ sails console 

sails> User.create({email: '[email protected]', password: '1234'}, function(err, user {console.log(user.id); }); // 1