2012-11-04 3 views
1

MongoDB에 데이터를 저장하는 데 문제가 있습니다.pymongo를 사용하여 mongodb에 데이터 저장

내가 처음이 파이썬 프로그램을 실행

import pymongo 
import sys 

def main(): 
    connection = pymongo.Connection("mongodb://localhost", safe = True) 

    db = connection.m101 
    people = db.people 

    person = {'name':'Barack Obama', 'role':'president'} 
    people.insert(person) 

을하지만, 내가 mongoshell에서 데이터를 검색하려고하면

> use m101 
는 M101을

> db.people.find() 

을 dB로 전환 아무것도 돌려주지 않는다! 무슨 일이 일어나고 있는지 잘 모르겠습니다. 당신의 도움을 주셔서 감사합니다.

답변

3

main()이 호출되지 않기 때문에 코드가 작동하지 않습니다.

실행될 때

if __name__ == '__main__': 
    main() 

가 정의 된 main 기능을 실행합니다 추가.

+0

도와 주셔서 감사합니다. – Julia

+0

설명 : 파이썬은 파일을 직접 실행할 때 가장 바깥 쪽 범위 (들여 쓰기 수준 없음)를 실행합니다. 질문에 쓰여 있듯이, 스크립트는 그냥 main을 호출하지 않고 정의한다. '__name__ == '__main __''조건자는 스크립트가 직접 실행되는 경우에만 (즉, 콘솔에서'python my_main.py')'main'이 실행되도록합니다; 이 스크립트를 가져 오면'main'이 실행되지 않습니다. 이것이 원하는 동작인지 여부는 사용 사례에 따라 다릅니다. –

1

main() 함수를 실행하지 않아 아무 것도 실행되지 않았습니다.

관련 문제