DDR爱好者之家 Design By 杰米

本文实例讲述了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"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"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数据库程序设计有所帮助。

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?