mongodb 索引以及与 python 交互
mongodb 索引:
1,mongodb支持索引,以提升查询速度
2,mongodb 是介于关系型与非关系型数据库之间的数据库
3,可以索引文档中的任何字段
# 向 t1 数据库插入 10万条数据 大约需要 10秒 for(i=0;i<100000;i++){db.t1.insert({name:'test'+i,age:i})} # 查找 第 10000 条数据 explain() 可以开启性能测试 executionTimeMillis为 39 毫秒 db.t1.find({name:'test10000'}).explain('executionStats') # 为集合 name字段 建立索引 db.t1.ensureIndex({name:1}) # 建立索引之后执行时间是 0 毫秒 注意: 查询 age 字段的话 还是 39 毫秒 因为此字段没有设立索引 db.t1.find({name:'test10000'}).explain('executionStats') #查看文档所有索引 db.t1.getIndexes() # 删除 联合索引 db.t1.dropIndex({"name":1,"age":1}) # 建立唯一索引 db.t1.ensureIndex({"name":1},{"unique":true}) # 建立联合索引 db.t1.ensureIndex({name:1,age:1}) # 对于联合索引的查询 还是按照 联合索引的顺序进行查找 前后一样 不能只查询一个 db.t1.find({name:'test10000'},{age:100000}).explain('executionStats')
Mongodb 与python 交互需要安装 pymongo 包
对于 pymongo 包之中的对象介绍:
MongoClient对象:
client = MongoClient('主机ip',端口)
Database对象:
# client对象获取获得数据库对象
db = client.数据库名称
Collections对象:
# 通过db对象获取集合对象
collections = db.集合名称
集合操作方法:
''' insert_one:加入一条文档对象 insert_many:加入多条文档对象 find_one:查找一条文档对象 find:查找多条文档对象 update_one:更新一条文档对象 update_many:更新多条文档对象 delete_one:删除一条文档对象 delete_many:删除多条文档对象 '''
转载于:https://www.cnblogs.com/shi-qi/articles/9810272.html