本文实例讲述了mongodb基本命令。分享给大家供大家参考,具体如下:
1 切换数据库
1
|
use admin;
|
2 查看当前数据库
1
|
db;
|
2.1 查看所有数据库
1
|
show dbs;
|
3 查看当前数据库下面的表
1
|
show collections;
|
4 删除数据库
1
2
3
|
use test;
db.dropDatabase(); #删除当前数据库
show dbs; #验证删除结果
|
5 删除集合或者表
1
|
db.table_name. drop (); #删除表 table_name
|
6 查看账号信息
1
2
3
4
5
6
|
mongo --port=23000
use admin;
db.auth( 'username' , 'password' )
db.system.users.find().pretty() #查看所有账号信息
show users; #查看当前账号信息
db.getUser( 'username' ) #查看指定用户的信息
|
7 使用gzip压缩的方式备份与恢复,注意只要换个命令就行,后面的不变,这里没用设置用户名和密码
1
2
3
|
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文件,解压后也是一个文件,将所有内容都放到一个文件里面
|
8 不压缩的方式备份
1
2
3
|
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命令查询
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 使用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" }
|
1
2
3
4
5
6
7
|
#删除表
[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
|
10 shell脚本中使用mongo命令
1
2
3
4
5
6
7
8
9
|
#!/bin/bash
mongo localhost:23000/testdb-2 <<EOF
var cursor =db.table2.find();
while ( cursor .hasNext()){
var item = cursor . next ();
print(item. name );
}
EOF
|
1
2
3
4
5
6
7
8
9
10
11
|
#传参的方式
#!/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数据库程序设计有所帮助。
原文链接:https://www.cnblogs.com/mmyy-blog/p/11977914.html