MongoDB 연결, 시작2
2024. 1. 10. 01:28ㆍMERN
const MongoClient = require('mongodb').MongoClient
// const url = "mongodb+srv://many:<password>@cluster0.dsoduz5.mongodb.net/?retryWrites=true&w=majority";
const url = "mongodb+srv://many:<password>@cluster0.dsoduz5.mongodb.net/products_test?retryWrites=true&w=majority";
const createProduct = async (req,res,next) => {
const newProduct = {
name: req.body.name,
price: req.body.price,
};
const client = new MongoClient(url);
try{
await client.connect();
const db = client.db();
const result = await db.collection('products').insertOne(newProduct);
// const result = db.collection('products').insertOne(newProduct);
}
catch(error){
return res.json({message:"could not store data"})
}
client.close()
res.json(newProduct)
};
const getProducts = async(req,res,next)=>{
};
exports.createProduct = createProduct;
exports.getProducts = getProducts;
이런식으로 하면, 연결을 수동으로 설정해줘야 하며 + 또 수동으로 닫아야 한다.
이렇게 매우 귀찮고 힘든 일이지만, Mongoose 라는 것이 있다.
Mongoose는 MongoDB 드라이버 기반으로 만들어진 서드 파티 앱
Mongoose는 스키마를 사용한다.
- 스키마 : 데이터베이스에 저장하려는 문서의 구조를 정의할 수 있게 함
이런 식으로 스키마를 정의함
const mongoose = require("mongoose");
const productSchema = new mongoose.Schema({
name: {type: String, required: true},
price: {type: Number, required: true},
});
module.exports = mongoose.model("Product",productSchema);
'MERN' 카테고리의 다른 글
Mongoose (MongoDB - DB 생성, 조회) (0) | 2024.01.12 |
---|---|
백엔드 MongoDB 데이터 베이스에 연결하기 (Mongoose 사용) (0) | 2024.01.10 |
MongoDB란 (feat. NoSQL, SQL) (0) | 2024.01.03 |
MERN - Express 오류 처리 (0) | 2023.09.17 |
MERN 참고 공식 사이트 (0) | 2023.09.17 |