File size: 1,257 Bytes
0614630
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from pymongo import MongoClient
import os
from utils import TEMP_DIR
from pymongo_schema.extract import extract_pymongo_client_schema

def connect_doc_db(connection_string, nosql_db_name, session_hash):
    try:
        # Create a MongoClient object
        client = MongoClient(connection_string)
        print("Connected to NoSQL Mongo DB")
    
        # Access a database
        db = client[nosql_db_name]

        collection_names = db.list_collection_names()

        print(collection_names)

        schema = extract_pymongo_client_schema(client)
    
        # Close the connection
        if 'client' in locals() and client:
            client.close()
            print("MongoDB Connection closed.")

        session_path = 'doc_db'

        dir_path = TEMP_DIR / str(session_hash) / str(session_path)
        os.makedirs(dir_path, exist_ok=True)

        return ["success","<p style='color:green;text-align:center;font-size:18px;'>Document database connected successful</p>", collection_names, schema]
    except Exception as e:
        print("DocDB CONNECTION ERROR")
        print(e)
        return ["error",f"<p style='color:red;text-align:center;font-size:18px;font-weight:bold;'>ERROR: {e}</p>"]