MongoDB基础【常用命令】入门
        【摘要】 
                    
                        
                    
                            上一篇博客为大家带来了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)