mongodb使用场景一般是什么?mongodb有哪些基本命令?

TheDisguiser 2020-06-27 15:13:39 java常见问答 6407

此前我们已经充分了解过了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架构师知识,就请持续关注本网站了解具体吧。

推荐阅读:

mongodb的复制原理是什么?

mongodb下载,mongodb安装详细教程

mongodb面试题一般有哪些?java基础知识面试题