본문 바로가기

MongoDB

Node js mongoDB CRUD

const { MongoClient } = require("mongodb");

const uri =
  "mongodb+srv://<아이디>:<비밀번호>^@<클러스터정보>/test(데이터베이스이름 test로 지정)?retryWrites
  =true&w=majority";

//  useNewUrlParser: true 옵션은 몽고디비 드라이버 3.0버전이후로 생긴 새로운 URL파서를 사용한다는 옵션 
const client = new MongoClient(uri, { useNewUrlParser: true });

async function main() {
  try {
    await client.connect();

    console.log("MongoDB 접속 성공!!!");

    //collection -> 관계형 데이터베이스의 테이블과 동일한 의미
    const collection = client.db("test").collection("person");

    // 문서 추가
    await collection.insertOne({ name: "Hongsun5", age: 28 });
    console.log("문서 추가 완료!!!");

    // 문서 추가한것 찾기
    const documents = await collection.find({ name: "Hongsun5" }).toArray();
    console.log("찾은 문서: ", documents);

    // 문서 갱신 업데이트
    await collection.updateOne({ name: "Hongsun5" }, { $set: { age: 45 } });
    console.log("문서 갱신 업데이트 완료");

    // 갱신 문서 확인하기
    const updatedDocuments = await collection
      .find({ name: "Hongsun5" })
      .toArray();

    console.log("갱신된 문서: ", updatedDocuments);

    //문서 삭제하기
    // await collection.deleteOne({name: "Hongsun5"});
    // console.log("문서 삭제");

    //연결 끊기
    await client.close();
  } catch (err) {
    console.error(err);
  }
}

main();

 
1. retryWrites=true 옵션은 네트워크 오류가 발생하거나 정상적인 연결을 찾을 수 없을 때 쓰기 작업을 자동으로  재시도하는 옵션 

2. w=majority 옵션은 쓰기를 시도할 때 다수의 인스턴스에 쓰기요청을 전달하고 성공확인을 받음
 
3. MongoClient객체를 생성해서 객체를 활용하여 생성,읽기,수정,삭제를 할 수 있다. 여기서 데이터베이스이름을 test라 정했고 collection("person")은 person컬렉션을 사용한다는 뜻이다. 컬렉션이란 RDB의 테이블과 유사한 역할을 한다. toArray()함수를 사용해 배열로 반환해줬다. 수정할때 두번째 인자에 몽고디비 연산자중에 도큐먼트 속성값을 변경하는 $set을 사용해 나이를 수정해줬다.
 
 

결과화면 1

 
 

결과화면 2

 
 
 
https://www.yes24.com/Product/Goods/118379776

Node.js 백엔드 개발자 되기 - 예스24

- 자바스크립트 Node.js 백엔드 개발자가 되고 싶다면- HTML/CSS/자바스크립트 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 무엇부터 익혀야 하는지 막

www.yes24.com

 

'MongoDB' 카테고리의 다른 글

MongoDB 연산자 모음  (0) 2024.01.19
Node js [mongoose-crud 만들기]  (0) 2024.01.18