본문 바로가기
데이터베이스

mongoose로 대량의 데이터 입력하기

by 즐거운코딩 2023. 7. 24.
반응형

이전 블로그에서 mongoose 를 이용해서 데이터 하나 씩 입력하는 방법에 대해 알아 보았습니다.

https://peter-codinglife.tistory.com/34

 

mongoose로 MongoDB 접속하기

MongoDB를 설치하고 mongoose 로 MongoDB에 접속하는 방법에 대해 소개합니다. 간단하게 DB 접속하고 모델을 만들고 샘플 데이터를 저장하고 잘 저장되었는지 확인해보겠습니다. 1. mongoose 설치하고 DB

peter-codinglife.tistory.com

잘 사용하는 방법은 아니나 DB에 여러 개 데이터를 동시에 입력하는 방법에 대해 알아 보겠습니다.

 

mongoose에서 insertMany() 를 사용하면 한 건씩 입력할 때 save() 를 통해서 DB에 저장했는데 insetMany() 를 이용하면 대량의 데이터를 save() 작업 없어도 저장이 됩니다.

아래와 같이 영화 정보를 추가로 작성합니다.

insertMany() 를 통한 데이터 입력시 시간이 소요되므로 Promise 비동기 객체로 처리되므로 처리된 이후 실행하는  .then 을 사용하여 터미널에 '성공' 과 저장한 데이터를 표출하도록 합니다.

const mongoose = require("mongoose");
mongoose
  .connect("mongodb://127.0.0.1:27017/movieApp")
  .then(() => {
    console.log("connection open !!!");
  })
  .catch((err) => {
    console.log("OH NO error !!!");
    console.log(err);
  });

const movieSchema = new mongoose.Schema({
  title: String,
  year: Number,
  score: Number,
  rating: String,
});

const Movie = mongoose.model("Movie", movieSchema);

// const amadeus = Movie({
//   title: "Amadenus",
//   year: 1986,
//   score: 9.2,
//   rating: "R",
// });

Movie.insertMany([
  { title: "Amelie", year: 2001, score: 8.3, rating: "R" },
  { title: "Alien", year: 1979, score: 8.1, rating: "R" },
  { title: "The Iron Giant", year: 1999, score: 7.6, rating: "PG" },
  { title: "Stand By Me", year: 1986, score: 8.6, rating: "R" },
  { title: "Moonrise Kingdom", year: 2012, score: 7.3, rating: "PG-13" },
]).then((data) => {
  console.log("IT WORKDE");
  console.log(data);
});

터미널에서 $ node index.js  로 실행합니다.

그리고 DB에 제대로 저장되었는지 확인해봅니다.

 

반응형

'데이터베이스' 카테고리의 다른 글

mongoose 데이터 삭제하기 - REPL 사용  (0) 2023.07.30
mongoose로 데이터 찾기  (0) 2023.07.26
mongoose로 MongoDB 접속하기  (0) 2023.07.24
MongoDB 데이터 생성 및 조회  (0) 2023.07.18
mongoose 스키마와 모델  (0) 2023.07.18