MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

पासवर्ड के लिए नेवला कस्टम सत्यापन

चूंकि आपको अपने डेटाबेस में सादा पासवर्ड नहीं सहेजना है, इसलिए डेटाबेस में पासवर्ड को मान्य करने का कोई मतलब नहीं है। क्योंकि आपको पहले पासवर्ड हैश करना चाहिए और फिर उसे सेव करना चाहिए। हैशेड पासवर्ड एक जटिल स्ट्रिंग होगा जो डेटाबेस में सहेजे जाने के लिए सत्यापन को पारित करने की सबसे अधिक संभावना है।

तो आपको क्लाइंट साइड में पासवर्ड को मान्य करना होगा। इसके लिए आप जॉय एनपीएम पैकेज का उपयोग कर सकते हैं।

https://www.npmjs.com/package/@hapi/joi

आप इसे इस तरह कार्यान्वित कर सकते हैं।

userModel.js // मॉडल फोल्डर में होना चाहिए

 const Joi = require('@hapi/joi');
 const mongoose = require("mongoose");

 //you defined your schema above, it should be **lowercase** 
 //here is the model, model should start capital letter 
 const User=mongoose.model("User",userSchema)

function validateUser(user) {
  const schema = Joi.object().keys({
    email: Joi.string()
      .min(8)
      .max(50)
      .required()
      .email(),
    password: Joi.string()
      .min(6)
      .required()
      .max(20)
      .regex(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9]).{8,1024}$/) //special/number/capital
  });
  return Joi.validate(user, schema);
}

module.exports.User = User;
module.exports.validate = validateUser;

मैं दिखाऊंगा कि पोस्ट राउटर के अंदर इस फ़ंक्शन का उपयोग कैसे करें।

userRoute.js

//import model and validate func
const { User, validate } = require("/models/user"); 

router.post("/", async (req, res) => {
  //validating the request here
  const { error } = validate(req.body);
  if (error) res.status(400).send(error.details[0].message);

  //i used this code to show you how to use validate function
  //i am not sure what is your project about
  });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo's Cursor.nextObject कभी-कभी ग़लती से अशक्त हो जाता है?

  2. नेवला/मोंगोडब में उप-दस्तावेज़ सरणी को कैसे क्रमबद्ध करें?

  3. मोंगोडब दस्तावेज़ में सूची में आइटम सम्मिलित करना

  4. जांच कर रहा है कि मोंगोडब में कोई इंडेक्स मौजूद है या नहीं

  5. आप NoSql डेटाबेस में ग्राहक> ऑर्डर> ऑर्डरम> उत्पाद को कैसे मॉडल करेंगे?