MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

tạo biểu mẫu đăng ký và đăng nhập trong node.js và mongodb

Bạn có thể tìm thấy một mẫu hoàn chỉnh về những gì bạn đang cố gắng làm trong ứng dụng Nodepad của Alex Young. 2 tệp quan trọng bạn nên xem là 2:

https://github.com/alexyoung/nodepad/blob/master/models.js
https://github .com / alexyoung / gật gù / blob / master / app.js

Một phần của mô hình trông như thế này:

  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();
    }
  });

Tôi nghĩ anh ấy cũng giải thích mã trên trang web dailyjs.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo Change Streams chạy nhiều lần (loại):Ứng dụng nút chạy nhiều phiên bản

  2. mongoError:Topo đã bị phá hủy

  3. MongoDB:LỖI:quy trình con không thành công, thoát với lỗi số 14

  4. Mã hóa cơ sở dữ liệu MongoDB

  5. Mongodb:Toán tử $ in so với rất nhiều truy vấn đơn lẻ