MongoDB(3)- Database 数据库相关

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: MongoDB(3)- Database 数据库相关

Database


  • MongoDB 将数据记录存储为文档(特别是 BSON 文档)
  • 这些文档在集合中聚集在一起
  • 数据库存储一个或多个文档集合。
  • 在 MongoDB 里面存在数据库的概念,但没有模式

 

Shell


MongoDB 自带了一个功能强大的 JavaScript Shell,可以用于管理或操作 MongoDB

 

默认数据库


  • MongoDB 数据库初始安装完成后,默认的数据库是 test
  • 学习时可以在默认 test 数据库上进行各种练习操作

 

MongoDB 数据库的命名规则


MongoDB 数据库的命名要符合 UTF-8 标准的字符串


序号 注意事项
1 不能为空
2 不得含有 /、\、?、$、空格、空字符等,基本只能使用 ASCII 中的字母和数字
3 区分大小写,建议全部小写
4 少于64个字符
5 不得使用保留的数据库名,如:admin、local、config

 

重点

数据库最终会成为文件,数据库名就是文件的名称

  • 由于数据库名称在 MongoDB 中区分大小写,因此数据库名称不能仅仅区别于字符
  • 对于在 Windows 上运行的 MongoDB,数据库名称不能包含以下字符: /\. "$*<>:|?
  • 对于在 UNIX 和 Linux 系统上运行的 MongoDB,数据库名称不能包含以下字符: /\. "$
  • 虽然 UTF-8 可以提供很多国家的语言的命名格式,在 MongoDB 数据库命名时也可以使用汉字作为数据库名,但是最好尽量采用英文字母、数字、字符等为主的命名格式

 

正确的命名格式

myDB、my_NewDB、myDB12

 

错误的命名格式

.myDB、/123

 

保留数据库


MongoDB 安装成功后就有的数据库

库名 作用
admin 权限数据库,添加用户到该数据库中,该用户会自动继承数据库的所有权限
local 数据库中的数据永远不会被复制
config 分片时,config 数据库在内部使用,保存分子信息
test 默认数据库,可以用来做各种测试等

但现在新版的,貌似没有 test 数据库了

 

查看数据库


MongoDB 使用 show 命令查看当前数据库列表

>show dbs        //可以在任意当前数据库上执行该命令

admin 0.000GB    //保留数据库,admin

myDB 0.000GB     //自定义数据库,myDB,该数据库里已经插入记录,没有记录的自定义数据库不会显示

local 0.000GB    //保留数据库,local

test 0.000GB     //保留数据库,test

 

重点

  • MongoDB 默认的数据库为 test,如果没有创建新的数据库,集合(Collections)将存储在 test 数据库中
  • 如果自定义数据库没有插入记录,则用户在 show dbs 时是不会显示该自定义数据库的,只有存在数据的数据库才会显示

 

使用数据库


use database_name

  • 如果数据库已经存在连接数据库,然后可以在该数据库进行各种操作
  • 如果数据库不存在,则在第一次为该数据库存储数据时,MongoDB 会创建该数据库

 

小栗子

> show dbs  // 查看数据库
admin   0.000GB
config  0.000GB
local   0.000GB
> use test   // 使用 test 数据库
switched to db test
> show dbs  // 查看数据库,还是没有 test 数据库
admin   0.000GB
config  0.000GB
local   0.000GB
> db.myNewCollection1.insertOne( { x: 1 } )   // 插入一条数据到 test 数据库的 myNewCollection1 集合中
{
    "acknowledged" : true,
    "insertedId" : ObjectId("60b340d196a866c106d3c564")
}
> show dbs  // 查看数据库,添加数据之后,test 数据库可以查看到了
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB


统计数据库信息


注意对某个数据库进行操作之前,一定要用 use 切换至数据库,否则会出错

> db.stats()
{
    "db" : "test",
    "collections" : 1,  // 集合数量
    "views" : 0,            // 视图数量
    "objects" : 1,    // 文档数量
    "avgObjSize" : 33,    // 每个文档的平均大小(以字节为单位)
    "dataSize" : 33,        // 此数据库中保存的未压缩数据的总大小
    "storageSize" : 20480, // 为此数据库中的集合分配的用于文档存储的总空间量
    "indexes" : 1,             // 索引数量
    "indexSize" : 20480,   // 索引大小
    "totalSize" : 40960,    // storageSize+indexSize
    "scaleFactor" : 1,       
    "fsUsedSize" : 67665461248, // 正在使用的磁盘空间大小
    "fsTotalSize" : 499963174912, // 总的磁盘空间大小
    "ok" : 1
}        


删除数据库


>db.dropDatabase ()    //删除当前数据库

{ ndropped" : "myDBn Jok" : 1}    //显示结果删除成功

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
20天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
21天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
23天前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
14 1
|
29天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
28天前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
24 0
|
29天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
29天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
JSON NoSQL Java
mongoDB导出数据库所有集合内容到json文件
网上搜了一圈,官方并有提供批量导出所有集合到json文件的方法。有不少脚本可以实现,但是我还是习惯用java,如下 package starcLL.
2214 0
|
1月前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较
|
2月前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)