创建用户时sailsJS中的id:null问题

时间:2015-04-27 18:56:52

标签: javascript node.js mongodb sails.js waterline

我怀疑我的问题是愚蠢的,但我找不到错误。我正在使用mongodb来保存用户数据。每一个似乎工作正常,但当我查看数据库时,我在每个用户记录中都有import wx ######################################################################## class MyForm(wx.Frame): #---------------------------------------------------------------------- def __init__(self): wx.Frame.__init__(self, None, wx.ID_ANY, "List Control Tutorial") # Add a panel so it looks the correct on all platforms panel = wx.Panel(self, wx.ID_ANY) self.index = 0 self.list_ctrl = wx.ListCtrl(panel, size=(-1,100), style=wx.LC_REPORT |wx.BORDER_SUNKEN ) self.list_ctrl.InsertColumn(0, '', width=50) self.list_ctrl.InsertColumn(1, 'Browser', width=200) # add some browsers self.list_ctrl.InsertStringItem(0, "foo") self.list_ctrl.SetStringItem(0, 1, "Google Chrome") self.list_ctrl.InsertStringItem(1, "bar") self.list_ctrl.SetStringItem(1, 1, "Mozilla Firefox") sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.list_ctrl, 0, wx.ALL|wx.EXPAND, 5) panel.SetSizer(sizer) #---------------------------------------------------------------------- # Run the program if __name__ == "__main__": app = wx.App(False) frame = MyForm() frame.Show() app.MainLoop() 。 我不希望id: null,我已经有id: null字段。

_id

我的userController:

$sails --version
0.11.0

我的用户模型:

module.exports = {
  create: function(req, res) {
    User.create(req.params.all(), function userCreated(err, user) {
      if(err) res.json(401, err);
      res.json(200, user);
    })
  }
}

当我从像module.exports = { attributes: { name: { type: 'string', required: true }, email: { type: 'string', email: true, required: true, unique: true }, password: { type: 'string', minLength: 6, maxLength: 15, columnName: 'encrypted_password', required: true }, toJSON: function() { var obj = this.toObject(); delete obj.password; return obj; } }, beforeCreate: function(values, next) { require('bcrypt').hash(values.password, 10, function passwordEncrypted(err, encryptedPassword) { if(err) console.log(err); values.password = encryptedPassword; next(); }); } }; 这样的网址创建用户时,everythink似乎很好,但在我的mongodb中,我看到了这一点:( http://localhost:1337/user/create?name=theUser&email=user@mail.com&password=123456&role=admin

id: null

我试过{ name: "theUser", email: "user@mail.com", role: "admin", id: null, createdAt: ISODate("2015-04-27T18:34:42.678Z"), updatedAt: ISODate("2015-04-27T18:34:42.678Z"), encrypted_password: "$2a$10$iNt/OR8XhjijqRjkpoNW/eR70HTSDgVJ2WmNppqab79rZt213aywm", _id: ObjectId("553e81429255e51f419a8ffc") } 但没有任何反应。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

waterline docs中所述,

  

默认情况下,名为id的属性会自动添加到您的   模型,其中包含每个唯一的自动递增数字   记录。这将是您的模型的主键,并将在何时编入索引   可用。如果您想定义自己的,可以覆盖它   主键工厂或属性。

<强>的PrimaryKey

将设置记录的主键。当autoPK设置为false时,应使用此选项。

attributes: {
  uuid: {
    type: 'string',
    primaryKey: true,
    required: true
  }
}