sql >> Database >  >> NoSQL >> MongoDB

Verbind en bevraag Mongo-database via SSH met privésleutel in Python

Dit werkte voor mij. Ik controleerde het paramiko-voorbeeld hierboven, maar begreep het niet en vond dit. Ik heb de code hier vandaan en een klein beetje aangepast voor mijn behoeften.

def data_call(collection_name, query={}):
    from sshtunnel import SSHTunnelForwarder
    import pymongo

    MONGO_HOST = 'HOST' 
    SERVER_USER   = 'server_user'
    PRIVATE_KEY ='pem.txt'

    MONGO_USER='user_mongo'
    MONGO_PASS ='pass_mongo'

    MONGO_DB = "db"

    # define ssh tunnel
    server = SSHTunnelForwarder(
        MONGO_HOST,
        ssh_username=SERVER_USER,
        ssh_pkey=PRIVATE_KEY,
        remote_bind_address=('127.0.0.1', 27017)
    )

    # start ssh tunnel
    server.start()

    connection = pymongo.MongoClient('127.0.0.1', server.local_bind_port)
    db = connection[MONGO_DB]

    data = db[collection_name].find(query)
    return data


  1. Eenvoudige verbinding met mongodb in de react-app

  2. Groeperen en tellen in MongoDB

  3. Een array bijwerken in MongoDB met behulp van Java-stuurprogramma

  4. Opdracht mislukt met fout 168 (InvalidPipelineOperator):'Niet-herkende uitdrukking '$match'