I am new to node.js and want to create a registration and login page for user.also there has to proper authorisation for the user.I want to store the user information inside mongodb database.How can i achieve this.can someone provide me the code to do so, so that i can get started with node.js and mongodb.Please help
import mongoose from 'mongoose'; const Schema = mongoose. Schema; const postSchema = new Schema({ title: { type: 'String', required: true }, content: { type: 'String', required: true }, slug: { type: 'String', required: true } }); let Post = mongoose. model('Post', postSchema);
Install the MongoDB Node.The MongoDB Node. js Driver allows you to easily interact with MongoDB databases from within Node. js applications. You'll need the driver in order to connect to your database and execute the queries described in this Quick Start series.
You can find a complete sample of what you're trying to do in the Nodepad application by Alex Young. The 2 important file you should take a look at are these 2:
https://github.com/alexyoung/nodepad/blob/master/models.js
https://github.com/alexyoung/nodepad/blob/master/app.js
A part of the model look like this:
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(); } });
I think he also explains the code on the dailyjs site.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With