MongoDB基础【常用命令】入门

举报
大数据梦想家 发表于 2021/09/28 00:15:03 2021/09/28
【摘要】         上一篇博客为大家带来了MongoDB基础【概念】入门。这一篇博客,将为大家带来关于MongoDB的基础命令!...

        上一篇博客为大家带来了MongoDB基础【概念】入门。这一篇博客,将为大家带来关于MongoDB的基础命令!
在这里插入图片描述


1. 创建自定义数据库

use databaseName

如果 databaseName 数据库不存在, 新建数据库。如果存在,则连接该数据库。

2.查看数据库列表

show dbs

# 自带数据库
admin   0.000GB
config  0.000GB
local   0.000GB

  
 
  • 1
  • 2
  • 3
  • 4

如果数据库中没有内容,则不会显示该数据库。

3.统计数据库信息

db.ststs()

# 选择 test 数据库
use test
# 统计数据库信息
db.stats()
{
        "db" : "test",          # 系统自带测试数据库
        "collections" : 0,      # 集合数量
        "views" : 0,            # 
        "objects" : 0,          # 文档对象的个数, 所有集合的记录数之和
        "avgObjSize" : 0,     	# 平均每个对象的大小, 通过 dataSize / Objects 得到
        "dataSize" : 0,         # 当前库所有集合的数据大小
        "storageSize" : 0,   	# 磁盘存储大小
        "numExtents" : 0,		# 所有集合的扩展数据量统计数
        "indexes" : 0,			# 已建立索引数量
        "indexSize" : 0,		# 索引大小
        "fileSize" : 0,			#
        "fsUsedSize" : 0,		#
        "fsTotalSize" : 0,		#
        "ok" : 1
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

4.删除数据库

db.dropDatabase()

db.dropDatabase()   # 执行删除
{ "ok" : 1 }  		# 返回

  
 
  • 1
  • 2

生产环境下,不能随便使用该命令。一旦执行,一般情况下具有不可恢复性。

5.查看当前数据库下的集合名称列表

db.getCollectionNames()

db.getCollectionNames()
[ ] 

  
 
  • 1
  • 2

6.查看数据库用户角色权限

show roles

# 显示 test 数据库的所有角色权限
show roles
{
        "role" : "dbAdmin",				# 数据库管理角色, 执行数据库管理相关操作功能
        "db" : "test",			
        "isBuiltin" : true,				# 内置角色
        "roles" : [ ],					# 放置用户角色、权限等信息
        "inheritedRoles" : [ ]			
}
{
        "role" : "dbOwner",				# 提供数据库任何管理操作功能, 此角色\
        								# 集合了 readWrite, dbAdminhe userAdmin
        								# 角色赋予的权限
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : [ ]
}
{
        "role" : "enableSharding",		# 提供分片操作权限
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : [ ]
}
{
        "role" : "read", 				# 主要提供自定义业务数据库读权限
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : [ ]
}
{
        "role" : "readWrite",			# 主要提供自定义业务数据库读写权限
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : [ ]
}
{
        "role" : "userAdmin",			# 提供在当前数据库上创建和修改角色和用户的功能。
        								# 由于该角色允许操作员向任何用户授予任何权限,
        								# 该角色还间接地提供对数据库的超级用户(root)
        								# 的访问权限。
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : [ ]
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

实际生产环境下,执行 show roles 命令,获得的信息会有所变化。

7.创建集合(插入单条或多条数据)

# 如果集合存在, 插入文档。如果不存在,创建集合并插入文档
db.collectionName.insert(
	{
        name: "Mr.Z",
        age: 12
	}
)
# 插入成功提示
WriteResult({ "nInserted" : 1 })

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

拓展1:

插入多条文档

db.collectionName.insert([{

​ item: “item_1”,

​ price: 12},{

​ item: “item_2”,

​ price: 15}]

)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

拓展2:

insert 命令,自动产生一个 _id 值。

insert 命令可以用 save 命令代替。若给 save 命令加_id,如果这个_id的值已经存在,则会替换原有的文档,而insert是不允许插入相同_id的文档。

db.collectionName.save({

​ _id: 1000,

​ isOk: “OK”

​ }

)


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

8.显示集合内容

db.collectionName.find()

db.collectionName.find()
{ 
	"_id" : ObjectId("5ba121d82288bab8681b83c5"), 
	"name" : "Mr.Z", 
	"age" : 12 
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

9.删除集合内容

db.collectionName.remove()

# 按条件删除
db.collectionName.remove({
	"name": "zs"
})

  
 
  • 1
  • 2
  • 3
  • 4

10. 查看集合数量

db.collectionName.find().count()

  
 
  • 1

文章来源: alice.blog.csdn.net,作者:大数据梦想家,版权归原作者所有,如需转载,请联系作者。

原文链接:alice.blog.csdn.net/article/details/104675584

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。