MongoDB 기반 애플리케이션의 시드 및 해시 비밀번호

6166 단어 nodemongodbjavascript
_시드는 데이터베이스에 초기 데이터 세트를 제공하는 프로세스입니다.

향후 개발하고자 하는 데이터베이스에 데이터를 삽입하고자 할 때 유용합니다._

그러나 비밀번호를 시드할 때 일반 텍스트가 아닌 안전한 비밀번호를 원합니다. 다음은 데이터베이스를 올바르게 시드하는 방법입니다.

스택: NodeJS, MongoDB 및 Express




// =====================SEED AND HASH PASSWORD========================================
const User = require('./models/models.user');
const mongoose = require('mongoose');
const bcrypt = require('bcrypt');

const connectDB = async () => {
  try {
    await mongoose.connect(process.env.MONGODB_URL);
    console.log('Connected to mongodb');
  } catch (error) {
    console.log(error);
  }
};

connectDB();

(async () => {
  let data = {
    name: 'Abraham Jujin',
    email: '[email protected]',
    password: 'abe1234',
    phoneNumber: '08168623107',
    role: 'admin',
  };
  let saltRounds = 10;
  let hashedPassword = await bcrypt.hash(data.password, saltRounds);

  data.password = hashedPassword;
  console.log(data.password);

  const seedDatabase = async () => {
    try {
      await User.deleteMany({});
      await User.insertMany(data);
      console.log('Seeding successful');
    } catch (error) {
      console.log(error);
    }
  };

  seedDatabase().then(() => {
    mongoose.connection.close();
  });
})();



읽어 주셔서 감사합니다

좋은 웹페이지 즐겨찾기