MongoDB 常用命令总结
2022/8/24 2:22:59
本文主要是介绍MongoDB 常用命令总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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云服务器上部署一套环境,自己练习下。
这篇关于MongoDB 常用命令总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享