DB

Python mongoDB Join 사용 코드

KJihun 2023. 6. 9. 14:59
728x90

mongoDB는 NoSql DB로, Join문을 사용할 수 없다.

하지만 $lookup을 사용하여 MongoDB에서 여러 개의 컬렉션 간 조인을 수행할 수 있다.

$lookup은 RDBMS의 조인 기능과 유사한 기능을 제공하는 파이프라인 연산자이다.

 

코드 작성 예시

import pymongo
my_client = pymongo.MongoClient('mongodb://localhost:27017/')
my_db = my_client['Orders']
my_collection = my_db['buy_orders']
result = my_collection.aggregate([{
       '$lookup' : {
       	'from': 'sell_orders',
        'localField': 'id_transaction',
        'foreignField': 'id_transaction',
        'as': 'results' }
}])

 

from: 조인할 컬렉션명

localField: 현재 켈력션에서 비교할 key값

foreignField: 조인할 컬렉션에서 비교해야하는 key 값

as: 결과를 저장할 필드의 이름. 조인된 문서는 이 필드에 배열 형태로 저장된다. 

위 같은 경우 results[0].~~ 로 결과를 저장한다.

'DB' 카테고리의 다른 글

Java - DB 연결2: ORM  (0) 2023.06.26
Java - DB 연결1: JDBC  (0) 2023.06.26