2회독 - mongoDB 조작하는 방법

2022. 12. 7. 11:32웹개발 메모장

728x90
SMALL

 

 

mongoDB 조작하는 방법

 

- 데이터 한개 저장하기

doc = {'name':'son','age':21}
db.users.insert_one(doc)

- 데이터 여러개 저장하기

db.users.insert_one({'name':'son','age':21})
db.users.insert_one({'name':'lee','age':27})
db.users.insert_one({'name':'tom','age':30})

위 방법 말고도 찾은 방법! (항해99 같은 팀 분이 공유해주신 방법ㅎㅎ)

db.users.insert_many([
    {'name':'leo','age':20},
    {'name':'hee','age':24},
    {'name':'jany','age':18},
   ])

이 방법으로도 한꺼번에 가능하다


 

- 데이터의 모든 리스트 불러오기

위 코드는 mongoDB - users에 넣은 리스트를 뽑아보는건데,

뽑고 나면 아래처럼 _id 가 같이 나온다.

이것은 mongoDB가 데이터를 집어넣을때 자동으로 생성하는 것이라서

id를 지우고 print하면 된다. 

all_users = list(db.users.find({},{'_id':False}))

for user in all_users:
    print(user)

False 대소문자 주의!!

 


- 데이터 내용 업데이트 하기 set

db.users.update_one({'name':'son'},{'$set':{'age':19}})

users 에서 이름이 son이라는 사람의 나이를 19살로 바꿔라

 


 

- 데이터 내용 삭제 하기 delete

db.users.delete_one({'name':'son'})

 

 

 

 

 

 

 


오늘의 노력ㅎㅎ

 

👉 doc 안에 3개를 넣는 방법도 있나? 해서 구글링해서 나온 코드대로 입력해 본 결과

▶️ 이렇게 한꺼번에 들어가진다

 

👉 다음 방법으로 한번 더 도전

▶️결과는 bella 마지막껏만 저장이 됐다;;

이유는 모르겠다 😭

 

👉 insert()로 시도해 봤을 때

insert_many가 된다면 insert도 되지 않을까 해서 시도해봤는데 에러가 떴다.

 

TypeError: 'Collection' object is not callable. If you meant to call the 'insert' method on a 'Collection' object it is failing because no such method exists.

 

위 오류의 경우 insert()가 아닌 insert_one() 이나 insert_many()를 사용해야 한다고 한다. 

그리고 mongodb와 파이썬의 버전차이로 인해 생기는 문제 일수도 있다고 한다.

728x90
LIST