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;
【安全】保密,你懂的。