ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MongoDB 常用命令总结

2022-08-23 14:32:33  阅读:187  来源: 互联网

标签:总结 collectionName roles MongoDB 数据库 db 集合 常用命令 test


1. 创建自定义数据库

use databaseName

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

2. 查看数据库列表

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

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

3. 统计数据库信息

db.stats()
# 选择 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
}

4. 删除数据库

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

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

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

db.getCollectionNames()
db.getCollectionNames()
[ ] 

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" : [ ]
}

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

7. 创建集合 (插入多条见说明)

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

如果集合存在, 插入文档。如果不存在,创建集合并插入文档

插入多条文档

db.collectionName.insert(

​ [

​ {

​ item: "item_1",

​ price: 12

​ },

​ {

​ item: "item_2",

​ price: 15

​ }

​ ]

)

8. 显示集合内容

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

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

insert 命令可以用 save 命令代替。若给 save 命令指定 _id 值,则会更新默认的 _id 值,如

db.collectionName.save(

​ {

​ _id: 1000,

​ isOk: "OK"

​ }

)。

9. 删除集合内容

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

10. 查看数量

db.collectionName.find().count()

想要练习的小伙伴可以在3A云服务器上部署一套环境,自己练习下。

标签:总结,collectionName,roles,MongoDB,数据库,db,集合,常用命令,test
来源: https://www.cnblogs.com/htx666/p/16616021.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有