mongo备份索引_04 - Mongo索引 备份与恢复 | 与Python交互 | Mongodb

#1.索引

1.创建大量数据--集合中插入10万条文档数据for(i=0;i<100000;i++){

db.t1.insert( {name:'test'+i,age:i} )

}2.数据查找性能分析--查找姓名为'test10000'的文档

db.t1.find({name:'test10000'})--使用explain()命令进行查询性能分析

db.t1.find({name:'test10000'}).explain('executionStats')

executionTimeMillis表示整体查询时间,单位毫秒3.建立索引--创建索引--1表示升序,-1表示降序

db.集合.ensureIndex({属性:1})

db.t1.ensureIndex({name:1})4.对索引属性查询--进行查询性能分析

db.t1.find({name:'test10000'}).explain('executionStats')5.附:索引的命令--建立唯一索引,实现唯一约束功能

db.t1.ensureIndex({"name":1},{"unique":true})--联合索引,对多个属性建立一个索引,按照find()出现的顺序

db.t1.ensureIndex({name:1,age:1})--查看文档所有索引

db.t1.getIndexes()--删除索引

db.t1.dropIndex('索引名称')#2.备份与恢复

1.备份

语法:

mongodump-h dbhost -d dbname -o dbdirectory-h: 服务器地址,也可以指定端口号-d: 需要备份的数据库名称-o: 备份的数据存放位置,此目录中存放着备份出来的数据

sudo mkdir test1bak

sudo mongodump-h 服务器ip:27017 -d test1 -o ~/Desktop/test1bak2.恢复

语法:

mongorestore-h dbhost -d dbname --dir dbdirectory-h: 服务器地址-d: 需要恢复的数据库实例--dir: 备份数据所在位置

mongorestore-h 服务器ip:27017 -d test2 --dir ~/Desktop/test1bak/test1#3.与python交互

1.增from pymongo import *

if __name__ == "__main__":try:#1.连接mongo对象

client = MongoCient(host = 'localhost', port = 27017)#2.连接数据库(数据库不存在就直接创建)

db =client.python#3.集合中插入文档(集合不存在就直接创建)

db.stu.insert_one({name:'abc', gender: True})#4.打印成功提示

print('ok')exceptException as e:print('e')2.删from pymongo import *

if __name__ == '__main__':try:#1.链接数据库mongo对象

client = MongoClient(host = 'localhost', port = 27017)#2.链接数据库

db =client.python#3.删除满足条件的第一条文档

db.stu.delete_one({gender:False})#删除满足条件的所有文档

db.stu.delete_many({gender:True})print("ok")exceptException as e:print("e")3.改from pymongo import *

if __name__ == "__main__":try:#1.链接mongo数据库对象

client = MongoClient(host='localhost', post=27017)#2.使用数据库

db =client.python## 3.修改满足条件的第一条文档

#db.stu.update_one({gender:True},{'$set':{name:'haha'}})

#修改满足条件的所有文档

db.stu.update_many({'gender':True},{'$set':{name:'haha'}})print("ok")exceptException as e:print('e')4.查from pymongo import *

if __name__ == "__main__":try:#1.链接mongo对象

client = MongoClient(host = 'localhost', port=27017)#2.链接数据库

db =client.python#3.查询一条文档

#result = db.stu.find_one()

#print(result)

#查询多条文档

result = db.stu.find({'homwtown':'大理'})for item inresult:print("%s--%s" % (itme['name'], item['hometown']))exceptException as e:print('e')5.交互对象--MongoClient对象--使用init方法创建连接对象

client=MongoClient('主机ip', 端口)--Database对象--通过client对象获取获得数据库对象

db=client.数据库名称--Collection对象--通过db对象获取集合对象,col=db.集合名称--主要方法:--对文档对象的操作

insert_one

insert_many

find_one

find

update_one

update_many

delete_one

delete_many--Cursor对象--当调用集合对象的find()方法时,会返回Cursor对象--结合for...in..遍历cursor对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值