find_one()과 find() 함수는 특정한 조건에 부합하는 하나 이상의 문서를 찾는 데 사용한다. find_one() 함수는 문서를 반환하고 find() 함수는 커서 제너레이터를 반환하는데, 이는 list() 함수나 for 루프에서 이터레이터를 사용해서 리스트로 변환할 수 있다. find_one()이나 find() 함수에 딕셔너리를 파라미터로 전달하면 이들 함수는 파라미터로 전달된 키 값과 일치하는 값을 지닌 문서를 반환한다.5
everyone = people.find()
list(everyone)
>>>
[{'empname': 'John Smith', 'dob': '1957-12-24',
'_id': ObjectId('5691a8720f759d05092d311b')},
{'empname': 'Jane Doe', 'dob': '1964-05-16', '_id': 'XVT162'},
{'empname': 'Abe Lincoln', 'dob': '1809-02-12',
'_id': ObjectId('5691a9900f759d05092d311c')},
{'empname': 'Anon I. Muss', '_id': ObjectId('5691a9900f759d05092d311d')}]
list(people.find({"dob" : "1957-12-24"}))
>>>
[{'empname': 'John Smith', 'dob': '1957-12-24',
'_id': ObjectId('5691a8720f759d05092d311b')}]
people.find_one()
>>>
[{'empname': 'John Smith', 'dob': '1957-12-24',
'_id': ObjectId('5691a8720f759d05092d311b')}]
people.find_one({"empname" : "Abe Lincoln"})
>>>
{'empname': 'Abe Lincoln', 'dob': '1809-02-12',
'_id': ObjectId('5691a9900f759d05092d311c')}
people.find_one({"_id" : "XVT162"})
>>>
{'empname': 'Jane Doe', 'dob': '1964-05-16', '_id': 'XVT162'}
5 역주 즉, 검색 조건을 입력하는 것과 같습니다.