mongodb遇到什么学什么

1.交互模式下登录库:

登录命令:/app/mongodb/bin/mongo 192.168.1.100:30000

use  库名

db.auth("用户名","密码")

2.数据库备份

#单个集合备份

mongodump --host 192.168.1.100:30000 -uadmin -p"XXXXXX" --authenticationDatabase admin -d educloud -c 集合名称 -o ./

mongoexport  -h 192.168.1.100:30000 -u educloud -p "XXXXXX"  -d educloud -c 集合名称  -o /app/集合名称.bson         

#整库备份:

mongoexport  -h 192.168.1.100:30000 -u educloud -p "XXXXXX" -d educloud  -o  ./

备注:

.bson文件存储集合的实际数据

metadata.json 文件存储集合的结构信息(元数据)-----索引信息

3.只备份集合的字段:

mongodump --host 192.168.1.100:30000 -uadmin -p"123456" -d educloud -c 集合名称 --query '{"$where":"false"}' -o ./app/educloud

4.还原备份数据

#整库还原:

mongorestore --host 192.168.1.10:30000 --username educloud --password 123456  -d educloud /app/educloud

#单集合还原:

mongoimport -h 192.168.1.100:30000 -u educloud -p xxxxxxxx -d educloud -c question_info question_info.bson

5.mongodb数据库中的数据查询

db.getCollectionNames().forEach(function(collection) {

    var stats = db[collection].stats();

    var sizeMB = (stats.size + stats.totalIndexSize) / 1024 / 1024;

    print(

        "集合: " + collection.padEnd(20),

        "数据大小: " + (stats.size / 1024 / 1024).toFixed(2) + " MB",

        "存储大小: " + (stats.storageSize / 1024 / 1024).toFixed(2) + " MB",

        "索引大小: " + (stats.totalIndexSize / 1024 / 1024).toFixed(2) + " MB",

        "总大小: " + sizeMB.toFixed(2) + " MB"

    );

});

size:集合中文档的实际数据大小(未压缩)。

storageSize:集合占用的存储空间

totalIndexSize:集合所有索引的大小。

totalSize():返回 storageSize + totalIndexSize 的总和

6.查看集合索引信息

db.集合名称.getIndexes()

printjson( db.educloud_inbox.getIndexes() )----------------->mongodb连接工具可能不显示内容,需要用到printjson

7.查看集合的状态

db.集合名称.stats()

db.集合名称.stats(1024*1024)   -------------------->集合大小会使用M来显示

8.查看集合中的数据

db.集合名称.find().limit(10).pretty()         ------------------------------>显示集合前10条数据

9.删除集合

db.集合名称.drop()

10.待补充

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容