댓글 목록

파이썬 MongoDB 찾기

페이지 정보

작성자 운영자 작성일 18-06-10 23:28 조회 1,434 댓글 0

동영상 강좌는 유튜브 채널 '웹학교'를 이용하시기 바랍니다.

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)

필드중 하나가 _id 필드인 경우를 제외하고는 동일한 객체에 0과 1 값을 모두 지정하면 오류가 발생합니다.

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)


댓글목록 0

등록된 댓글이 없습니다.