mongodb基礎
- 連接mongodb
client = MongoClient('localhost', 27017)
或者使用mongoDB的uri
client = MongoClient('mongodb:// localhost:27017/')
- 創建數據庫
MongoDB的中的單個實例可以支持多個獨立的數據庫當PyMongo工作訪問使用上MongoClient實例屬性的風格訪問數據庫。例如創建一個test_database數據庫。
db = client.test_database
獲取
db = client ['test-database']
#test_database數據庫的名稱
當mongodb中已經有這個數據庫,就會連接上,如果沒有則是創建。
- 獲取集合
集合是一組存儲在MongoDB中中的文件,并且可以被認為是一個表,作為大致在關系數據庫中的等效的獲得在PyMongo收集工作與獲取數據庫:
collection = db.test_collection
或者
collection = db ['test-collection']
- 插入語句
MongoDB 使用 insert() 或 save() 方法向集合中插入文檔
db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一個 Nosql 數據庫',
by: '菜鳥教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
5.查找語句
6.刪除語句、
7.更新語句
推薦看一下菜鳥教程
方式1:無用戶權限驗證
mongo_conn = None
try:
mongo_conn = pymongo.Connection(host, port)
mongo_db = mongo_conn[db_name]
mongo_coll = mongo_db[coll_name]
print("conn_mongo: %d" % mongo_coll.count())
except Exception as ex:
print("conn mongo error: " + str(ex))
方式2:用戶權限驗證
連接方式
mongodb://{username}:{password}@{host}:{port}/{db_name}?authMechanism=MONGODB-CR
代碼示例
uri = "mongodb://{username}:{password}@{host}:{port}/{db_name}?authMechanism=MONGODB-CR".format(username=user_name,
password=user_pwd,
host=host,
port=port,
db_name=db_name)
print("conn_mongo_2 -- uri: " + uri)
mongo_client = pymongo.MongoClient(uri)
mongo_db = mongo_client[db_name]
mongo_coll = mongo_db[coll_name]
print("conn_mongo_2 -- count: %d" % mongo_coll.count())
方式3: 用戶權限驗證(2)
連接方式
mongo_client = pymongo.MongoClient("%s:%d"%(host, port))
mongo_client[db_name].authenticate(user_name, user_pwd, db_name, mechanism='MONGODB-CR')
代碼示例:
mongo_client = pymongo.MongoClient("%s:%d"%(host, port))
mongo_client[db_name].authenticate(user_name, user_pwd, db_name, mechanism='MONGODB-CR')
mongo_db = mongo_client[db_name]
mongo_coll = mongo_db[coll_name]
print("conn_mongo_3 -- count: %d" % mongo_coll.count())
參考博客http://blog.mimvp.com/2015/05/mongodb-pymongo-connections-in-several-ways/
知行辦公,專業移動辦公平臺https://zx.naton.cn/
【總監】十二春秋之,3483099@qq.com;
【Master】zelo,616701261@qq.com;
【運營】狼行天下,897221533@qq.com;****
【產品設計】流浪貓,364994559@qq.com;
【體驗設計】兜兜,2435632247@qq.com;
【iOS】淘碼小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的頓悟,1217022114@qq.com;
【java】首席工程師MR_W,feixue300@qq.com;
【測試】土鏡問道,847071279@qq.com;
【數據】喜樂多,42151960@qq.com;
【安全】保密,你懂的。