mongodb基本命令实例小结
时间:2020-01-03来源:系统城作者:电脑系统城
本文实例讲述了mongodb基本命令。分享给大家供大家参考,具体如下:
1 切换数据库
- use admin;
-
2 查看当前数据库
- db;
-
2.1 查看所有数据库
- show dbs;
-
3 查看当前数据库下面的表
- show collections;
-
4 删除数据库
- use test;
- db.dropDatabase(); #删除当前数据库
- show dbs; #验证删除结果
-
5 删除集合或者表
- db.table_name.drop(); #删除表 table_name
-
6 查看账号信息
- mongo --port=23000
- use admin;
- db.auth('username','password')
- db.system.users.find().pretty() #查看所有账号信息
- show users; #查看当前账号信息
- db.getUser('username') #查看指定用户的信息
-
7 使用gzip压缩的方式备份与恢复,注意只要换个命令就行,后面的不变,这里没用设置用户名和密码
- 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 不压缩的方式备份
- 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命令查询
- # 使用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
-
10 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数据库程序设计有所帮助。
相关信息
-
-
高版本Mysql使用group by分组报错的解决方案
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组,下面这篇文章主要给大家介绍了关于高版本Mysql使用group by分组报错的解决方案,文中通过实例代码介绍的非常详细,需要的朋友可以参考下...
2023-03-06