此前我们已经充分了解过了mongodb的原理及各种概念,你们知道一般在什么场景下才会使用mongodb吗?下面通过文章来了解一下吧。
一、mongodb基本命令
1)、数据库切换
use admin;
2)、浏览当前数据库
db;
3)、浏览全部数据库
show dbs;
4)、删除数据库
use test; db.dropDatabase(); #删除当前数据库 show dbs; #验证删除结果
5)、删除表或集合
db.table_name.drop(); #删除表 table_name
6)、使用压缩的方式备份与恢复
mongodump--port = 23000--archive = /data/mongo_backup / testdb - 2.20191203.gz--db testdb - 2--gzip mongorestore--port = 23000--archive = /data/mongo_backup / testdb - 2.20191203.gz--db testdb - 2--gzip ** 这种备份方式会生成一个gzip文件, 解压后也是一个文件, 最后把所有内容都放到一个文件里面
7)、使用不压缩的方式备份
mongodump--port = 23000--db = testdb - 2 - o / data / mongo_backup / 20191203 mongorestore--port = 23000--db = testdb - 2--drop / data / mongo_backup / 20191203 / testdb - 2 ** 经过这种方式备份, 每个表通常就两个文件:.bson和.metadata.json
8)、在shell中使用mongo命令查询
# 使用eval mongo ip: port / database--eval "" [root @localhost~]# mongo localhost: 23000 / testdb - 2--eval "printjson(db.table1.findOne())" MongoDB shell version v3 .6 .13 connecting to: mongodb: //localhost:23000/testdb-2?gssapiServiceName=mongodb Implicit session: session { "id": UUID("e87ef5ae-a6b7-47d6-a91c-65f3a0b81ac0") } MongoDB server version: 3.6 .13 { "_id": ObjectId("5de60a767321940034390f16") , "id": 129 , "name": "hehe" }# 使用--quiet 去掉不必要的信息 [root @localhost~]# mongo localhost: 23000 / testdb - 2--quiet--eval "printjson(db.table2.findOne())" { "_id": ObjectId("5de615b8eac07a724c6911b6") , "id": 6 , "name": "hehe" }
# 删除表 [root @localhost~]# mongo localhost: 23000 / testdb - 2--eval "db.table1.drop();" MongoDB shell version v3 .6 .13 connecting to: mongodb: //localhost:23000/testdb-2?gssapiServiceName=mongodb Implicit session: session { "id": UUID("0cf5b11f-c6ef-417c-8bbd-a2f8414f589c") } MongoDB server version: 3.6 .13 true
9)、在 shell脚本中使用mongo命令
#!/bin/bash mongo localhost: 23000 / testdb - 2 << EOF var cursor = db.table2.find(); while (cursor.hasNext()) { var item = cursor.next(); print(item.name); } EOF
# 传参的方式#!/bin/bash table_name = $1 mongo localhost: 23000 / testdb - 2 << EOF var cursor = db.$ { table_name }.find(); while (cursor.hasNext()) { var item = cursor.next(); print(item.name); } EOF
二、mongodb一般使用场景
1)、高并发读写的场景
2)、模式自由,随意字段添加,对于那种随时需要更改数据结构的场景
3)、数据量大,随时都需要扩容的场景
4)、磁盘空间小,需要最大化利用磁盘空间的场景
5)、高可扩展性的应用场景
6)、数据可靠性要求高的场景
以上就是关于mongodb的全部内容了,相信你已经对它有了足够深入的了解,完全可以试着去测试一二了。如若还需要了解更多相关java架构师知识,就请持续关注本网站了解具体吧。
推荐阅读: