lambda - cannot get database names from DocumentDb

0

I am trying to get a list of database names for my DocumentDB. I am using the pymongo library. I run this code;

    logging.info("get client")
    #connectionString = os.environ["documentdb_connection"]
    connectionString = "mongodb://geoff:qzmpqzmp@docdb-2023-03-22-20-49-15.cluster-cwl5gnwixa5k.us-east-1.docdb.amazonaws.com:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"
    ##Specify the database to be used
    logging.info("Get database testdb")
    #db = client.testdb
    logging.info("All the databases")
    #db = client.testdb
    logging.info(client.list_database_names())

I have been unable to connect to the specific database I wanted so I thought I would comment those lines out and instead list all of the databases to check if it exists. On the last line of that code I get a NameError; "name 'client' is not defined" How do I fix this?

질문됨 일 년 전330회 조회
1개 답변
4
수락된 답변

you forgot to create the client object before attempting to use it. You should use the MongoClient class from the pymongo library to create a connection

example code:

import logging
import os
from pymongo import MongoClient

logging.info("get client")
# connectionString = os.environ["documentdb_connection"]
connectionString = "mongodb://geoff:qzmpqzmp@docdb-2023-03-22-20-49-15.cluster-cwl5gnwixa5k.us-east-1.docdb.amazonaws.com:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false"

# Create the client
client = MongoClient(connectionString)

##Specify the database to be used
logging.info("Get database testdb")
#db = client.testdb
logging.info("All the databases")
#db = client.testdb

# List all database names
logging.info(client.list_database_names())

profile picture
전문가
답변함 일 년 전
  • Oh dear, I must have deleted that line by mistake. anyway thank you very much!

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인