获取已创建模型的ID字段

时间:2014-10-30 22:34:41

标签: javascript node.js sails.js

我正在使用以下代码创建用户帐户:

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?

2 个答案:

答案 0 :(得分:0)

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

获取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);
});