1:使用mongodb创建索引
1.1:为什么要创建索引
- 首先这是一个优化的问题,创建索引可以更快速的查找到需要的数据,这个就像是字典中的查字一个道理
1.2:如何优化程序
- 使用一些常用的数据结构和常用的算法
- 尽量减少程序循环的次数
- 使用一些设计模式
- 使用一些优秀的框架
1.3:创建索引
- 注意:创建索引就是增加查询的效率,这个在前面已经提到过了
- 在mongodb中当查询出来的数据特别多的时候,一次在终端处只展示20个查询出来的数据
要查询的数据的代码
for(i=0;i<100000;i++){db.test.insert({name:'test'+i,age:i})}
要查询的数据
db.test.find({name:"test9999"})
显示查询操作的详细信息
db.test.find({name:'test9999'}).explain('executionStats')
- 当中的“executionTimeMillis”参数表示的是查询到这个数据所消耗的时间
查看索引
db.test.getIndexes()
- 查看索引的目的是为了查看有哪些数据可以用来创建索引
创建索引
db.test.ensureIndex({name:1})
通过有索引的方式来查找数据
db.test.find({name:'test9999'}).explain('executionStats')
删除索引
db.test.dropIndex({name:1})
2:python与mongodb的交互
2.1:准备工作
- 1:需要先安装有mongdb这个数据库
- 2:在python中要有pymongo这个模块
2.2:使用python来操作mongodb数据库
- 1:导入pymongo这个模块
- 2:连接mongo数据库
- 3:进行增删改查操作
pymongo的安装
pip lnstall pymongo
连接数据库
client = MongoClient()
client = MongoClient(host='127.0.0.1', port=2017)
插入数据
插入一条数据
# 方法一:使用insert插入数据
client[数据库的名字][表的名字].insert({‘key’:‘value’})
# 方法二:使用insert_one插入一条数据
client[数据库的名字][表的名字].insert_one({‘key’:‘value’})
插入多条数据
client[数据库的名字][表的名字].insert_mary({‘key’:‘value’})
查询数据
查询一个数据
# 无条件的查询数据
client.db.find_one() # 注意:这个方法只返回查询到的第一个数据
# 有条件的查询数据
client.db.find_one(要查询的条件)
查询多个数据
# 无条件的查询数据
client.db.find() # 注意:在使用查询多个数据的时候,要使用for循环来遍历,才可以清楚的查询到数据
# 有条件的查询多个数据
client.db.find(要查询的条件) # 同样要使用for循环来遍历一下才可以清楚的查询到数据