MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

membuat formulir pendaftaran dan login di node.js dan mongodb

Anda dapat menemukan contoh lengkap dari apa yang Anda coba lakukan di aplikasi Nodepad oleh Alex Young. 2 file penting yang harus Anda lihat adalah ini 2:

https://github.com/alexyoung/nodepad/blob/master/models.js
https://github .com/alexyoung/nodepad/blob/master/app.js

Bagian dari model terlihat seperti ini:

  User = new Schema({
    'email': { type: String, validate: [validatePresenceOf, 'an email is required'], index: { unique: true } },
    'hashed_password': String,
    'salt': String
  });

  User.virtual('id')
    .get(function() {
      return this._id.toHexString();
    });

  User.virtual('password')
    .set(function(password) {
      this._password = password;
      this.salt = this.makeSalt();
      this.hashed_password = this.encryptPassword(password);
    })
    .get(function() { return this._password; });

  User.method('authenticate', function(plainText) {
    return this.encryptPassword(plainText) === this.hashed_password;
  });

  User.method('makeSalt', function() {
    return Math.round((new Date().valueOf() * Math.random())) + '';
  });

  User.method('encryptPassword', function(password) {
    return crypto.createHmac('sha1', this.salt).update(password).digest('hex');
  });

  User.pre('save', function(next) {
    if (!validatePresenceOf(this.password)) {
      next(new Error('Invalid password'));
    } else {
      next();
    }
  });

Saya pikir dia juga menjelaskan kode di situs dailyjs.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bisakah saya menentukan apakah string adalah ObjectID MongoDB?

  2. Bagaimana cara mengkonfigurasi driver MongoDB Java MongoOptions untuk penggunaan produksi?

  3. Menyebarkan &Mengonfigurasi Pecahan MongoDB dengan Ansible

  4. Pesanan dokumen pengembalian Mongodb find

  5. Terhubung ke database tertentu secara default di mongodb