mongodb的总结

目的:非关系型数据库mongodb的简单总结,希望能对使用起到一定作用。

一、关键字
mongodb的总结

二、增删改查
mongodb的总结
mongodb的总结

4.查询
mongodb的总结

三、方法说明
mongodb的总结

四、索引

mongodb的总结

五、索引的类型

  1. 唯一索引,确保集合的每一个文档指定键都有唯一值

例: db.xxx.ensureIndex({“xxx”:1},{“unique”:true})

2.复合唯一索引,单个键的值可以相同,但是所有键的组合值必须唯一

3.稀疏索引,不需要将每个文档都作为索引条目

例:db.xxx.ensureIndex({“xxx”:1},{parse":true})

六、索引管理

mongodb的总结

七、固定集合

mongodb的总结

八、TTL(time­to­live)索引(具有生命周期的索引)

mongodb的总结
九、聚合
mongodb的总结

十、备份、恢复、导入、导出

1.备份mongodump命令(所有参数都是非必须,默认导出整个库)

‐h IP ‐‐port 端口

‐u 用户名

‐p 密码

‐d 数据库 ‐o 文件存在路径

例:mongodump 2.恢复mongorestore命令

‐h IP (非必须) ‐‐port 端口 (非必须) ‐u 用户名 (非必须) ‐p 密码 (非必须)

‐d 数据库 (非必须,如果库不存在就是必须的)

‐‐drop 先删除,在导入(非必须,如果写了这个参数就表示完全恢复备份的数据,不写这个参数就是与当前数据库的数据进行合并)

文件存在路径(非必须)默认找当前目录下的dump文件夹

例:mongorestore ‐d test E:\dump\test 3.导入mongoimport命令

‐h IP (非必须) ‐‐port 端口 (非必须) ‐u 用户名 (非必须) ‐p 密码 (非必须)

‐d 数据库 (非必须) ‐c 表名 (非必须)

‐‐type 类型 指定还原的文件类型(非必须 csv必须)

‐‐headerline (非必须 csv必须)

‐‐upsert 插入或者更新现有数据(非必须) ‐‐drop 先删除,再还原(非必须)

‐‐upsertFields 还原部分字段(非必须)

文件名 (必须)

例:mongoimport ‐d test ‐c db_user ‐‐upsert E:\dump\test\db_user.json 4.导出mongoexport命令

‐h arg 主机(非必须 如果没有,默认localhost)
‐‐port arg 端口(非必须 如果没有,默认27017)
‐u arg 用户(非必须)
‐p arg 密码(非必须)
‐d arg 数据库(必须)
‐c arg 集合(必须)
‐f arg 字段名 逗号隔开(导出csv时是必须参数,导出json格式市非必须)
如果导出csv的时候,字段名必须跟数据库对上,不然没数据
‐q arg 查询条件 json格式(非必须,默认导出所有)
‐‐csv 导出csv格式(必须)
‐o arg 导出的文件名(必须,最好写绝对路径)

例:mongoexport ‐h 127.0.0.1 ‐‐port 27017 ‐d test ‐c article ‐q {} ‐f _id,name,age ‐‐ type=csv ‐o E:\out\b.csv

注意事项:

1.mongoDB不支持事务

2.数据库禁止删表删索引 防止手误

var no = funcion(){

print(“Not on my watch!”);

}

//禁止删除数据库

db.dropDatabase = DB.dropDatabase = no; //禁止删除表

DBCollection.prototype.drop=no; //禁止删除索引

DBCollection.prototype.dropIndex = no; 3.填充因子默认为1,不能手动更改,数据之间的空间

文档变大的时候填充因子会自动变大文档变小的时候填充因子会自动变小应尽量避免填充因子接近1

十一、聚合管道(Aggregation Pipeline)
mongodb的总结