Python MongoDB 검색
- 이전 페이지 MongoDB 삽입
- 다음 페이지 MongoDB 쿼리
MongoDB에서 데이터를 검색하려면 find와 findOne 메서드를 사용합니다。
SELECT 문이 MySQL 데이터베이스의 테이블에서 데이터를 검색하는 것과 마찬가지로 사용됩니다。
일항 검색
MongoDB의 컬렉션에서 데이터를 선택하려면 다음과 같이 사용할 수 있습니다: find_one()
메서드。
find_one()
메서드는 선택된 첫 번째 일치 항목을 반환합니다。
예제
customers 컬렉션의 첫 번째 문서를 검색합니다:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
모든 항목 검색
MongoDB에서 테이블에서 데이터를 선택하려면 다음과 같이 사용할 수 있습니다: find()
메서드。
find()
메서드는 선택된 모든 일치 항목을 반환합니다。
find()
메서드의 첫 번째 파라미터는 query 객체입니다. 이 예제에서는 비어 있는 query 객체를 사용하여 컬렉션의 모든 문서를 선택합니다。
find()
메서드는 파라미터를 제공하지 않아 MySQL의 SELECT *와 같은 결과를 반환합니다。
예제
"customers" 컬렉션의 모든 문서를 반환하고 각 문서를 출력합니다:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): print(x)
특정 필드만 반환
find()
결과에 포함된 필드를 설명하는 객체가 있는 파라미터는 메서드의 두 번째 파라미터입니다。
이 파라미터는 선택 사항입니다. 생략하면 모든 필드가 결과에 포함됩니다.
예제
이름과 주소만 반환하고, _ids는 반환하지 않습니다:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }): print(x)
0과 1 값을 동시에 지정할 수 없습니다. (除非其中一个字段是 _id 字段)。0 값을 지정한 필드가 있으면 다른 모든 필드의 값은 1이 되며, 반대도 마찬가지입니다:
예제
이 예제에서 "address"를 결과에서 제외합니다:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "address": 0 }): print(x)
예제
0과 1 값을 동시에 지정하면 오류가 발생합니다. (除非其中一个字段是 _id 字段):
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "name": 1, "address": 0 }): print(x)
- 이전 페이지 MongoDB 삽입
- 다음 페이지 MongoDB 쿼리