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:删除多条文档对象
    '''


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM