
# C (create)
db에 삽입할때 컬렉션(집합)으로 삽입해야합니다
아직 존재하지 않는 컬렉션에 무언가 삽입하면 컬렉션이 생성됩니다
매서드는 insert, insertOne, insertMany 가 있습니다
기본 db는 test로 되어있습니다
구문)
db.컬렉션명.insert()
dogs 컬렉션과 강아지 정보를 객체로 추가했습니다.

성공하면 아래에 문구가 뜨고 id가 생성되네요
show collections
컬렉션 목록을 확인할 수 있습니다

잘 등록되었네요
cats 컬렉션을 추가하고
Read로 넘어가겠습니다.
db.cats.insert({name: 'bobo', age: 6, breed: 'scottish fold', dogFriendly: false})
db.cats.insert({name: 'bob', age: 19, breed: 'chosy', dogFriendly: true})
# R (read)
구문)
db.컬렉션명.find()
해당 컬렉션에 존재하는 객체들을 보여줍니다.

조건을 넣어서 원하는 객체만 뽑아낼 수도 있습니다.

findOne() 매서드로 객체 하나만 볼 수도 있습니다.
# U (update)
create, read에 비해서 복잡합니다.
updateOne, updateMany. replaceOne 가 있습니다

bob의 나이를 12로 바꿔보겠습니다.

에러가 뜨는데요
이유는 mongo update를 할땐 $set을 수정할 부분에 같이 써줘야합니다.
$set을 추가해보겠습니다.

메세지가 뜨면서 변경된것 같네요
확인해보니

잘 수정 되었습니다.
없는 키-값 쌍을 추가할 수도 있습니다.
updateMany를 쓰게된다면 해당조건에 맞는 모든 객체에 수정이 적용됩니다.
추가로 $set처럼 다른 연산자도 있습니다
$currentDate 인데 현재 날짜를 지정가능합니다.
업데이트를 한 후 $curentDate를 추가 해준다면 수정 날짜가 언제인지 확인할 수 있을 것입니다.
# D (delete)
마지막 삭제입니다.
deleteMany, deleteOne 매서드를 씁니다.
이제 이름만 봐도 대충 유추할 수 있겠네요

deleteOne 매서드로 이름이 chacha인 객체를 지우고 확인해봤습니다.
잘 지워졌네요
만약 deleteMany 매서드를 빈 객체로 보낸다면
해당 컬렉션 객체들은 모두 지워집니다.
update에 연산자가 있는거 외에
CRD 는 비슷한 맥락이네요
'mongoDB' 카테고리의 다른 글
[mongoDB] #mongoose - node와 mongodb 연결 후 데이터 저장하기 (0) | 2023.05.26 |
---|---|
[mongoDB] 몽고db 설치, mongo shell(mongosh.exe), server 실행 ( LOCAL버전 ) (1) | 2023.05.22 |