mongodb有哪些基本命令

46次阅读
没有评论

共计 2211 个字符,预计需要花费 6 分钟才能阅读完成。

自动写代码机器人,免费开通

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 有哪些基本命令的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计2211字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)