title: Sequelize findOrCreate insert new row but return object with primary key undefined
body: <p>I use <a href="http://sequelizejs.com/" rel="noreferrer">Sequelize</a> in one small nodejs project, working with mysql database.</p>
  
  <p>With findOrCreate, I can find existing objects and insert new objects, but when the new object was create and return, the primary key was 'undefined'.</p>
  
  <h3>definition</h3>
  
  <pre><code>    module.exports = function(sequelize, DataTypes) {
          var Student = sequelize.define('Student', {
          id : {
              type : DataTypes.BIGINT,
              primaryKey : true
          },
          wxid : DataTypes.STRING,
          client : DataTypes.STRING,
          nick : DataTypes.STRING,
  
          wallet : {type: DataTypes.INTEGER, defaultValue: 0},
          mcount : {type: DataTypes.INTEGER, defaultValue: 0},
          qcount : {type: DataTypes.INTEGER, defaultValue: 0},
  
          status : {type: DataTypes.INTEGER, defaultValue: 0},
          premium_type : {type: DataTypes.INTEGER, defaultValue: 0},
          createtime : DataTypes.DATE,
          lastqtime : DataTypes.DATE,
          lastmtime : DataTypes.DATE
  
          }, {
          freezeTableName : true,
          timestamps : false,
          tableName : 'student_student',
          associate: function(models) {
              Student.hasMany(models.Question, {as:'questions', foreignKey: 'student_id'});
          }
          });
  
          return Student;
      };
  </code></pre>
  
  <h3>findOrCreate</h3>
  
  <pre><code>    db.Student.findOrCreate( { wxid : info.uid },
              {
                  client: client_name,
                  createtime: new Date(),
                  lastmtime: new Date()
              }).success(
              function(stu, created) {
                  if (!stu) {
                  console.log('Stu[' + info.uid + '] not found.'.red);
                  } else {
                  if (created) {
                      stu.created = true;
                      console.log(stu.values);    
                      //// Here, stu.id is 'undefined'
  
                  }
                  }
              });
  </code></pre>
  
  <p>logs:</p>
  
  <pre><code>    [app-0 (out) 2014-01-10T21:54:32] { id: undefined,
      [app-0 (out) 2014-01-10T21:54:32]   wxid: 'o6ssct7SHGXN1zlyD6vvfk3TMr68',
      [app-0 (out) 2014-01-10T21:54:32]   client: 'wxcs',
      [app-0 (out) 2014-01-10T21:54:32]   nick: undefined,
      [app-0 (out) 2014-01-10T21:54:32]   wallet: 0,
      [app-0 (out) 2014-01-10T21:54:32]   mcount: 0,
      [app-0 (out) 2014-01-10T21:54:32]   qcount: 0,
      [app-0 (out) 2014-01-10T21:54:32]   status: 0,
      [app-0 (out) 2014-01-10T21:54:32]   premium_type: 0,
      [app-0 (out) 2014-01-10T21:54:32]   createtime: Fri Jan 10 2014 21:54:32 GMT+0800 (CST),
      [app-0 (out) 2014-01-10T21:54:32]   lastqtime: undefined,
      [app-0 (out) 2014-01-10T21:54:32]   lastmtime: Fri Jan 10 2014 21:54:32 GMT+0800 (CST) }
  </code></pre>
  
  <p>But when I look into database, I find the row was inserted correctly.</p>
  
  <h3>How can I findOrCreate with id set?  Thanks.</h3>