파이썬 몽고DB 찾기
MongoDB에서는 find 및 findOne 메서드를 사용하여 컬렉션에서 데이터를 찾습니다.
SELECT 문을 사용하여 MySQL 데이터베이스의 테이블에서 데이터를 찾는 것처럼 .
하나 찾기
MongoDB의 컬렉션에서 데이터를 선택하기 위해
find_one()
메서드를 사용할 수 있습니다.
이 find_one()
메서드는 선택 항목에서 첫 번째 항목을 반환합니다.
예시
고객 컬렉션에서 첫 번째 문서를 찾습니다.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)
모두 찾기
MongoDB의 테이블에서 데이터를 선택하기 위해 이 방법을 사용할 수도 있습니다
find()
.
이 find()
메서드는 선택 항목의 모든 항목을 반환합니다.
메서드 의 첫 번째 매개 변수는 find()
쿼리 개체입니다. 이 예에서는 컬렉션의 모든 문서를 선택하는 빈 쿼리 개체를 사용합니다.
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을 가져오고 그 반대의 경우도 마찬가지입니다.
예시
이 예에서는 결과에서 "주소"를 제외합니다.
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)