学堂 学堂 学堂公众号手机端

mongodb有哪些基本命令?相信很多没有经验的人对此束手无策

lewis 1年前 (2024-03-30) 阅读数 4 #技术

mongodb有哪些基本命令?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1 切换数据库

useadmin;

2 查看当前数据库


db;

2.1 查看所有数据库

showdbs;

3 查看当前数据库下面的表

showcollections;

4 删除数据库

usetest;
db.dropDatabase();#删除当前数据库
showdbs;#验证删除结果

5 删除集合或者表

db.table_name.drop();#删除表table_name

6 查看账号信息

mongo--port=23000
useadmin;
db.auth('username','password')
db.system.users.find().pretty()#查看所有账号信息
showusers;#查看当前账号信息
db.getUser('username')#查看指定用户的信息

7 使用gzip压缩的方式备份与恢复,注意只要换个命令就行,后面的不变,这里没用设置用户名和密码

mongodump--port=23000--archive=/data/mongo_backup/testdb-2.20191203.gz--dbtestdb-2--gzip
mongorestore--port=23000--archive=/data/mongo_backup/testdb-2.20191203.gz--dbtestdb-2--gzip
**这种备份方式生成一个gzip文件,解压后也是一个文件,将所有内容都放到一个文件里面

8 不压缩的方式备份

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

9 在shell中使用mongo命令查询

#使用evalmongoip:port/database--eval""
[root@localhost~]#mongolocalhost:23000/testdb-2--eval"printjson(db.table1.findOne())"
MongoDBshellversionv3.6.13
connectingto:mongodb://localhost:23000/testdb-2?gssapiServiceName=mongodb
Implicitsession:session{"id":UUID("e87ef5ae-a6b7-47d6-a91c-65f3a0b81ac0")}
MongoDBserverversion:3.6.13
{
"_id":ObjectId("5de60a767321940034390f16"),
"id":129,
"name":"hehe"
}
#使用--quiet去掉不必要的信息
[root@localhost~]#mongolocalhost:23000/testdb-2--quiet--eval"printjson(db.table2.findOne())"
{"_id":ObjectId("5de615b8eac07a724c6911b6"),"id":6,"name":"hehe"}
#删除表
[root@localhost~]#mongolocalhost:23000/testdb-2--eval"db.table1.drop();"
MongoDBshellversionv3.6.13
connectingto:mongodb://localhost:23000/testdb-2?gssapiServiceName=mongodb
Implicitsession:session{"id":UUID("0cf5b11f-c6ef-417c-8bbd-a2f8414f589c")}
MongoDBserverversion:3.6.13
true

10 shell脚本中使用mongo命令

#!/bin/bash
mongolocalhost:23000/testdb-2<<EOF
varcursor=db.table2.find();
while(cursor.hasNext()){
varitem=cursor.next();
print(item.name);

}
EOF
#传参的方式
#!/bin/bash
table_name=$1
mongolocalhost:23000/testdb-2<<EOF
varcursor=db.${table_name}.find();
while(cursor.hasNext()){
varitem=cursor.next();
print(item.name);

}
EOF

看完上述内容,你们掌握mongodb有哪些基本命令的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注博信行业资讯频道,感谢各位的阅读!

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门