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을 사용해 나이를 수정해줬다.
https://www.yes24.com/Product/Goods/118379776
'MongoDB' 카테고리의 다른 글
MongoDB 연산자 모음 (0) | 2024.01.19 |
---|---|
Node js [mongoose-crud 만들기] (0) | 2024.01.18 |