• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

이썬에서 몽고DB, PyMongo 기본 문법 이해하기 오류가 뜨네요

22.09.12 23:39 작성 조회수 1.18k

1

import pymongo

m = {
    "이름": "임권일",
    "나이": 31,
    "거주지": "울산",
}

conn = pymongo.MongoClient("localhost", 27017)
db = conn.test
col = db.members

col.insert(m)

이렇게 적었는데

 

 

이런오류가뜨네요 오류가 뜨네요

PS C:\MongoTest> python test.py

Traceback (most recent call last):

File "C:\MongoTest\test.py", line 13, in <module>

col.insert(m)

File "C:\Program Files\Python310\lib\site-packages\pymongo\collection.py", line 3200, in call

raise TypeError(

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

답변 1

답변을 작성해보세요.

0

몽고DB 버전이 강좌와 달라서 생기는 문제로 보입니다.

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()함수로 변경해서 사용해야 합니다

Minhyun Sung님의 프로필

Minhyun Sung

2022.12.09

안녕하세요?

insert_one()으로 하니 파이썬에서 오류는 안나는데 스튜디오 3T에 업데이트가 안되요. 일단 conn.test가 안생기는 것 같아요. 어떻게 해야 하나요?

image

아래 그림은 올려주신 코드를 그대로 복사 붙여넣기 해서 테스트한 결과 입니다.

image

그림에서 보시는것과 같이 첨에 insert()를 했을때 오류가 나서 inser_one()으로 함수명만 변경하였고 실행했을때 터미널 제일 하단에 문제 없이 실행되었으며, 좌측의 몽고디비 상태를 보면 test DB에 members컬렉션 생성 후 데이터가 정상적으로 저장된 것을 확인할 수 있었습니다.

 

image

물론 Studio3T에서도 문제없이 처리된 것을 확인할 수 있었습니다.

다시 한번 환경을 점검해보시기 바랍니다.