MongoDB Compass GUI and Python

Для визуализации DB используйте MongoDB Compass

Пример работы через Python

 

Чтение из Secondary ноды

read_secondary.py

import pymongo
from pymongo import MongoClient , ReadPreference
from datetime import datetime
import time
# Create the client
connection = MongoClient(‘mongodb1:27017’,read_preference=ReadPreference.SECONDARY)

# Connect to our database
db = connection[‘test’]

# # Fetch our series collection
series_collection = db[‘test’]

#Print Database
# print(connection.list_database_names()

def search():
    # i = 0
    # while i < 50:
    item_details = series_collection.find({ ‘number’: ’77’ })

    for index,item in enumerate(item_details):
            # if index == 7:
            #     break
        print(item)
        # i = i+1
   
def read():
    item_details = series_collection.find()
    for index,item in enumerate(item_details):
        if index == 700000:
            break
    # This does not give a very readable output
        print(item)

def main():
    start_time = time.time()
    search()
    # read()
    print(«— %s seconds —» % (time.time() — start_time))

if __name__ == ‘__main__’:
    main()

[свернуть]

Чтение по умолчанию

Спойлер

import pymongo
from pymongo import MongoClient , ReadPreference
from datetime import datetime
import time
# Create the client
connection = MongoClient(‘mongodb1’, 27017)

# Connect to our database
db = connection[‘test’]

# # Fetch our series collection
series_collection = db[‘test’]

#Print Database
# print(connection.list_database_names()

def search():
    # i = 0
    # while i < 50:
    item_details = series_collection.find({ ‘number’: ’77’ })

    for index,item in enumerate(item_details):
            # if index == 7:
            #     break
        print(item)
        # i = i+1
   

def read():
    item_details = series_collection.find()
    for index,item in enumerate(item_details):
        if index == 700000:
            break
    # This does not give a very readable output
        print(item)

def main():
    start_time = time.time()
    search()
    # read()
    print(«— %s seconds —» % (time.time() — start_time))

if __name__ == ‘__main__’:
    main()

[свернуть]

Запись

write.py

import pymongo
from pymongo import MongoClient, ReadPreference
from os import urandom
from base64 import b64encode
from datetime import datetime
import time
importjson
# Create the client
connection = MongoClient(‘mongodb1:27017’, read_preference=ReadPreference.SECONDARY)

# Connect to our database
db = connection[‘test’]

# # Fetch our series collection
series_collection = db[‘test’]

def write2():
    file_data = [json.loads(line) for line in open(‘ct.json’,’r’)]
    series_collection.insert_many(file_data)
    connection.close()

def write():
    i = 0
    while i < 50:
        result = urandom(10000000)
        token = b64encode(result).decode(‘utf-8’)
        new_show = {
        «name»: «FRIENDS»,
        «year»: 1994,
        ‘id’: i,
        ‘text’: token,
        ‘timestamp’: datetime.now(),
        }
        i = i+1
        print(series_collection.insert_one(new_show).inserted_id)

def main():
    start_time = time.time()
    write2()
    print(«— %s seconds —» % (time.time() — start_time))

if __name__ == ‘__main__’:
    main()

[свернуть]

Добавить комментарий 0