[ MongoDB ] MongoDB

김대한·2023년 4월 26일
0

MongoDB-Node.js

목록 보기
1/3
post-thumbnail

NoSQL

  • 구조화된 질의어를 사용하지 않는 데이터 베이스
  • 데이터를 구조화하지 않아 사전 작업 없이 데이터베이스를 사용할 수 있음
  • 보통 Document로 저장하는 Document DB가 일반적이다.

MongoDB

  • MongoDB는 Document DB 중 Key-Value 타입의 NoSQL DB이다.

  • MongoDB는 DataBase -> Collection -> Documnet의 구조를 가진다.

    test DataBase 아래에 posts Collection에 Documnet가 있는 모습

  • Document에서 ObjectID는 SQL의 Primary Key 역할을 하고
    자동으로 생성된다.( timestamp + random value + auto increament )

MongoDB Driver

  • 설치
    npm install mongodb --save

  • 연결

const MongoClient = require("mongodb").MongoClient

const client = new MongoClient('mongodb://localhost:27017', {
    useUnifiedTopology: true,
    useNewUrlParser: true
});
client.connect();
  • 생성
connect()

async function connect() {
    try {
        await client.connect();
        const db = client.db('test');
    const student = db.collection('student');
    const cursorInsertion = await student.insertMany([
        {
            'name' :'kimnara',
            'age' : 22,
            'gender' : 'Woman'
        },
        {
            'name' :'kimdaehan',
            'age' : 25,
            'gender' : 'Man'
        }]);
    console.log(cursorInsertion.insertedCount);
    }
        
    catch (err) {
        console.error(`we encountered ${err}`);
    }
    finally {
        client.close();
    }
}
  • 확인
const cursorFind = student.find();
const data = await cursorFind.toArray();
console.table(data);


잘 들어간것을 확인

이번 포스팅은 MongoDB의 특징, 구조에 대해 간단하게 작성해보았습니다. 또한 MongoDB를 공부하다가 MongoDB는 실제 개발할때 Mongoose ODM을 사용한다고 하여 MongoDB driver는 왜 사용하지 않을까? 궁금하여 직접 불편함을 느껴보기 위해 MongoDB driver를 사용해봤습니다. 다음 포스팅은 Mogoose ODM을 사용해보고 포스팅 하겠습니다.

profile
개발자 지망생 입니다.

0개의 댓글