복붙노트

[MONGODB] 어떻게 pymongo 원격 MongoDB를 연결하는

MONGODB

어떻게 pymongo 원격 MongoDB를 연결하는

나는 원격 몽고 데이터베이스를 연결하는 MongoChef를 사용할 때, 나는 다음 매개 변수를 사용 :

섬기는 사람

SSH 터널

내가 Pymongo와 연결하면, 나는 다음 코드를 :

import pymongo

MONGO_HOST = "10.1.0.90"
MONGO_PORT = 25
MONGO_DB = "db_name"
MONGO_USER = "username"
MONGO_PASS = "password"

con = pymongo.MongoClient(MONGO_HOST, MONGO_PORT)
db = con[MONGO_DB]
db.authenticate(MONGO_USER, MONGO_PASS)

print(db)

하지만 다음 오류가 있습니다 :

pymongo.errors.ServerSelectionTimeoutError: 10.1.2.84:27017: [Errno 111] Connection refused

, 당신은 내게는이 문제에 도움이 될 수주십시오? 내가 무슨 일을 했는가?

해결법

  1. ==============================

    1.나를 위해 작동하는 솔루션입니다.

    나를 위해 작동하는 솔루션입니다.

    from sshtunnel import SSHTunnelForwarder
    import pymongo
    import pprint
    
    MONGO_HOST = "REMOTE_IP_ADDRESS"
    MONGO_DB = "DATABASE_NAME"
    MONGO_USER = "LOGIN"
    MONGO_PASS = "PASSWORD"
    
    server = SSHTunnelForwarder(
        MONGO_HOST,
        ssh_username=MONGO_USER,
        ssh_password=MONGO_PASS,
        remote_bind_address=('127.0.0.1', 27017)
    )
    
    server.start()
    
    client = pymongo.MongoClient('127.0.0.1', server.local_bind_port) # server.local_bind_port is assigned local port
    db = client[MONGO_DB]
    pprint.pprint(db.collection_names())
    
    server.stop()
    
  2. ==============================

    2.이것은 파이썬에서 MLAB 데이터베이스와 연결하여 MongoDB에 저를 도왔다 :

    이것은 파이썬에서 MLAB 데이터베이스와 연결하여 MongoDB에 저를 도왔다 :

    from pymongo import MongoClient
    
    MONGO_HOST = "ds123456.mlab.com"
    MONGO_PORT = 23456
    MONGO_DB = "db name"
    MONGO_USER = "Username"
    MONGO_PASS = "password"
    connection = MongoClient(MONGO_HOST, MONGO_PORT)
    db = connection[MONGO_DB]
    db.authenticate(MONGO_USER, MONGO_PASS)
    
  3. from https://stackoverflow.com/questions/42718547/how-to-connect-remote-mongodb-with-pymongo by cc-by-sa and MIT license