1. 程式人生 > 其它 >pyMongoDB 基礎使用模版

pyMongoDB 基礎使用模版

pyMongoDB基礎使用 - https://www.cnblogs.com/iAmSoScArEd/p/14903131.html -我超怕的

當不知道MongoDB中有什麼資料庫時可使用以下函式查詢所有資料庫:

print(client.database_names())

當不知道MongoDB中有什麼集合時可使用一下函式獲取所有集合

print(db.collection_names())

from pymongo.mongo_client import MongoClient
from pymongo import ReadPreference


'''Connect the mongoDB
''' def get_mongo_conn(host, port, user, password, usedatabse): db = None client = None try: client = MongoClient(host, port,maxPoolSize=500, connectTimeoutMS=10000,serverSelectionTimeoutMS=5000) # print(client.database_names()) 獲取所有資料庫 db = client.get_database(usedatabse,read_preference=ReadPreference.SECONDARY)
if db.authenticate(user, password): # print('認證成功!') # print(db.collection_names()) 獲取所有集合 pass else: print('認證失敗!') except Exception as ex: print("connection Mongo exception: %s" % ex.message) return db, client # settings def get_mongo_config():
return { 'host' : '127.0.0.1', 'port' : 27000, 'dbName' : '1234', 'userName' : 'username', 'password' : 'password', 'collectionName' : 'collection' } # define function to query one row def query_one(queryDict={}): # return dict gmc = get_mongo_config() host = gmc['host'] port = gmc['port'] dbName = gmc['dbName'] userName = gmc['userName'] password = gmc['password'] collectionName = gmc['collectionName'] db,client = get_mongo_conn(host,port,userName,password,dbName) if db is None or client is None: print('獲取mongo連線失敗!') return None collection = db[collectionName] return collection.find_one() # define function to query more rows def query_all(queryDict,limit): # return list gmc = get_mongo_config() host = gmc['host'] port = gmc['port'] dbName = gmc['dbName'] userName = gmc['userName'] password = gmc['password'] collectionName = gmc['collectionName'] db,client = get_mongo_conn(host,port,userName,password,dbName) if db is None or client is None: print('獲取mongo連線失敗!') return None collection = db[collectionName] return collection.find(queryDict).limit(limit) def run(device=''): queryDict = {} results = query_all(queryDict,5) # query 5 rows for rs in results: print(rs) run()