python连接mongodb
import pymongo
class MongoUtil:
def __init__(self, collection):
MONGO_CONF = {
'host': '127.0.0.1',
'port': 27017,
'database': 'runobb'
}
conn = pymongo.MongoClient(MONGO_CONF['host'], MONGO_CONF['port'])
# 选择库
db_name=MONGO_CONF['database']
db = conn[db_name]
# 使用集合
self.collection_one = db[collection]
@staticmethod
def mongo_collection(collection):
return MongoUtil(collection).collection_one
if __name__ == '__main__':
rows_select = MongoUtil.mongo_collection('php').find()
for row in rows_select:
print(row)
打印结果如下:
{’_id’: ObjectId(‘5f895c001bf2d759aa37a7c8’), ‘name’: ‘xiaoming’, ‘age’: 20.0, ‘email’: ‘xiaoming@gmail.com’}
# 汇总视角
summary_detail = MongoUtil.mongo_collection(MONGO_COLLECTION_SUMMARY_DETAIL).find_one({"quotation_no": quotation_no})
project_id = summary_detail['project_id']
bp_id = summary_detail['bp_id']
sum_software_info = SoftwareQuotationService(project_id, bp_id).handleSumSoftware()
summary_detail["az_detail"]["SoftwareSummaryDetail"] = sum_software_info
result = MongoUtil.mongo_collection(MONGO_COLLECTION_SUMMARY_DETAIL).\
update_one(filter={"quotation_no": quotation_no}, update={"$set": summary_detail})