내 가상 컴퓨터는 항상 쿼리에 대해 빈 포인터를 반환합니다. 서버 또는 코드에 문제가 있습니까?이 단순한 pymongo 코드의 문제점을 이해할 수 없습니다.
내 코드 :
내 가상 머신 화면 :
내 가상 컴퓨터는 항상 쿼리에 대해 빈 포인터를 반환합니다. 서버 또는 코드에 문제가 있습니까?이 단순한 pymongo 코드의 문제점을 이해할 수 없습니다.
내 코드 :
내 가상 머신 화면 :
이 내가 코드에서 이해할 수있는 것입니다 : 당신은
있습니다 클라이언트 인스턴스화 :
client = pymongo.MongoClient(url)
두 번째 스크린 샷이 주어지면이 방법이 효과적이라고 생각합니다. 당신은 당신의 클라이언트에 사용할 수있는 데이터베이스 중 하나 얻고있다
는 :
db = client["fullstack"]
이 잠재적 인 문제가 될 수 있습니다. "fullstack"데이터베이스를 가지고 있습니까? 어쩌면 그것은 "fullStack"또는 이와 비슷한 것입니까?
기본적으로 "전체 스택"데이터베이스가없는 경우 mongo가 해당 데이터를 "생성"합니다 (이는 올바른 용어가 아닐 수도 있습니다). mongo 쉘에서 use fullstack
을 수행하는 것과 같습니다. "fullstack"데이터베이스를 가지고 있으면 작동 할 것이고 데이터베이스와 상호 작용할 수 있지만이 데이터베이스에 아무 것도하지 않으면 연결을 끊으면 사라집니다.
컬렉션에 액세스하십시오.
collection = db["students"]
다시 db와 동일한 문제가 발생합니다. "학생"이 아닌 "학생"인지 확인하십시오. 또한 실제로 기록이 있는지 확인하십시오.
내가 좋아하는 일을하고 조언을 것은 :
collection.insert_one({'test': 'record'})
이 당신이 실제로 뭔가를 가지고 있는지 확인하는 것입니다.
당신은 같은 것을 수행하여 나중에 그것을 제거 할 수 있습니다 :
collection.remove({'test': 'record'})
또한, 커서 반복하면 커서를 소모한다. 재사용 할 수있는 목록에서, 메모리에 모든 기록을 보관합니다
records = [record for record in collection.find({})]
이 : 당신은 수백만 개의 레코드를 가지고 있지 않기 때문에, 당신은 뭔가를 할 수 있습니다.
희망이 도움이됩니다.
은 항상 질문에 형식화 된 코드를 포함하며 화면 캡처는 포함하지 않습니다. 다른 사람들이 디버깅을 시도하고 디버깅 할 수 있도록 도와줍니다. –
http://api.mongodb.com/python/current/tutorial.html을 통해 스크롤하십시오 - 귀하의 질문에 답변 해 줄 것입니다. 특히 "두 개 이상의 문서 쿼리하기"섹션을보십시오. – wazy
@wazy : 뭐가 잘못 보이니? 나는 udemy를 따르고 있었다.co.kr에서 튜토리얼 비디오, 나는 비디오에서 남자와 똑같은 코드를 작성하려했습니다. 그러나 내가 달릴 때 결과를 얻지 못하고있다. –