MongoDB数据库基本概念解析

在上一篇文章中讲解了如何安装MongoDB,这篇文章中讲解一些有关MongoDB的概念。

不管我们要学习什么数据库,都应该学习其中的基础概念,在MongoDB中基本的概念是文档、集合、数据库,下面挨个介绍。

下面的表格将会帮助您更容易理解MongoDB中的一些概念:

SQL术语/概念 MongoDB术语/概念 解释/说明
database databaee 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins   表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

一、数据库

一个MongoDB中可以建立多个数据库。

MongoDB的默认数据库为“db”,该数据库存储在data目录中。

MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。

1、使用“show dbs”命令可以显示所有数据库的列表,如下图所示:

2、执行“db”命令可以显示当前数据库对象或集合,如下图所示:

3、执行“use”命令,可以连接到一个指定的数据库。

例如:从当前的test数据库切换到local数据库,如下图所示:

admin:从权限的角度来看,这是“root”数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端的命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local:这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。

config:当MongoDB用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

二、文档

文档是一组键值(key-value)对(即BSON)。MongoDB的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型。这与关系型数据库有很大的区别,也是MongoDB非常突出的特点。

一个简单的文档例子如下:

{"site":"www.baidu.com","name":"百度"}

RDBMS与MongoDB对应的术语:

需要注意的是:

1、文档中的键/值对是有序的。

2、文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。

3、MongoDB区分类型和大小写。

4、MongoDB的文档不能有重复的键。

5、文档的键是字符串。除了少数例外情况,键可以使用任意的UTF-8字符。

文档键命名规范:

1、键不能含有\0(空字符)。这个字符用来表示键的结尾。

2、.和$有特别的意义,只有在特定环境下才能使用。

3、以下划线“_”开头的键是保留的(不是严格要求的)。

三、集合

集合就是MongoDB文档组,类似于RDBMS(即关系数据库管理系统)中的表格。

集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。

比如,我们可以将以下不同数据结构的文档插入到集合中:

{“site”:“www.baiduc.com”}

{“site”:“www.baiduc.com”,"name":"百度"}

{“site”:“www.baiduc.com”,"name":"百度","address":"北京"}

合法的集合命名

1、集合名不能是空字符串“”。

2、集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。

3、集合名不能以“system”开头,这是为系统集合保留的前缀。

4、用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在集合名字里面出现$。

MongoDB数据类型


数据类型


描述


String


字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。


Integer


整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。


Boolean


布尔值。用于存储布尔值(真/假)。


Double


双精度浮点值。用于存储浮点值。


Min/Max keys


将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。


Arrays


用于将数组或列表或多个值存储为一个键。


Timestamp


时间戳。记录文档修改或添加的具体时间。


Object


用于内嵌文档。


Null


用于创建空值。


Symbol


符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。


Object ID


对象 ID。用于创建文档的 ID。创建文档时默认自动创建


Binary Data


二进制数据。用于存储二进制数据。


Code


代码类型。用于在文档中存储 JavaScript 代码。


Regular expression


正则表达式类型。用于存储正则表达式。


Date


日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。

到此这篇关于MongoDB概念解析的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • MongoDB数据库介绍并用.NET Core对其进行编码

    浅入 MongoDB MonogoDB 是什么 MongoDB 是 NoSQL 型数据库,主要特征是存储结构化数据,MongoDB 是基于分布式文件存储的开源数据库系统. 结构化数据 以往我们使用 Mysql.SqlServer 等数据库,数据都是一条条的.MongoDB 的结构化数据正是区别于这种列-行式的数据. 结构化数据具有层级关系: 例如: { name: "MongoDB", type: "database", count: 1, info: { x: 2

  • .Net Core中使用MongoDB搭建集群与项目实战

    目录 安装MongoDB apt直接安装(方法1) apt仓库安装(方法2) 方法1.2启动MongoDB 通过二进制包安装(方法3) 安装依赖 deb安装MongoDB tgz安装MongoDB 启动MongoDB 卸载方法 apt卸载方法 tgz卸载方法 指定启动的配置 通过配置文件 通过参数 MongoDB绑定IP.端口 测试远程IP连接 加上密码验证 设置账号密码 开启登录验证 停止MongoDB 搭建集群 副本集 故障转移 方案 设计实例名称 如何创建集群 启动两个实例(配置) 副本集

  • MongoDB数据库简介与安装方法

    1.简介 MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.旨在为WEB应用提供可扩展的高性能数据存储解决方案.在高负载的情况下,添加更多的节点(分布式),可以保证服务器性能.MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 2.MongoDB数据结构 MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.MongoDB将数据存储为一个文档,数据结构由键值(Ke

  • mongodb三分钟入门大全

    目录 一.MongoDB是什么 1.维基百科 2.简而言之 二.MongoDB 的应用场景 1.MongoDB事务 2.多引擎支持各种强大的索引需求 3.具体的应用场景 4.以下是几个实际的应用案例: 5.选择MongoDB的场景总结: 三.MongoDB对比MySQL 1.关键字对比 四.SpringBoot整合MongoDB实现增删改查 1.引入pom 2.启动类Application 3.实体类 4.UserRepository 5.业务层service 6.测试类 7.插入 8.更新 9

  • MongoDB使用场景总结

    很多人比较关心 MongoDB 的适用场景,也有用户在话题里分享了自己的业务场景,比如 案例1 用在应用服务器的日志记录,查找起来比文本灵活,导出也很方便.也是给应用练手,从外围系统开始使用MongoDB. 用在一些第三方信息的获取或者抓取,因为MongoDB的schema-less,所有格式灵活,不用为了各种格式不一样的信息专门设计统一的格式,极大的减少开发的工作. 案例2 mongodb之前有用过,主要用来存储一些监控数据,No schema 对开发人员来说,真的很方便,增加字段不用改表结构

  • MongoDB数据库基本概念解析

    在上一篇文章中讲解了如何安装MongoDB,这篇文章中讲解一些有关MongoDB的概念. 不管我们要学习什么数据库,都应该学习其中的基础概念,在MongoDB中基本的概念是文档.集合.数据库,下面挨个介绍. 下面的表格将会帮助您更容易理解MongoDB中的一些概念: SQL术语/概念 MongoDB术语/概念 解释/说明 database databaee 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域

  • mongodb数据库入门学习笔记之下载、安装、启动、连接操作解析

    本文实例讲述了mongodb数据库下载.安装.启动.连接操作.分享给大家供大家参考,具体如下: 简介: MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 1.下载 从官网下载压缩包, 官网地址:https://www.mongodb.com/download-center/v2/community. 下载命

  • 老生常谈MongoDB数据库基础操作

    为了保存网站的用户数据和业务数据,通常需要一个数据库.MongoDB和Node.js特别般配,因为Mongodb是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储的,增删改查等管理数据库的命令和JavaScript语法很像.本文将详细介绍MongoDB数据库 数据库 数据库,顾名思义,是数据存储的仓库,主要功能有两个 1.有组织地存放数据 与在磁盘上自己存放文件不同,数据库替用户组织了数据的存储形式,用户只需要按照数据库提供的接口将数据写入,数据便会按照标准的格式被存

  • Thinkphp使用mongodb数据库实现多条件查询方法

    有个项目用了mongodb数据库,查询条件有and也有or,按Thinkphp官方手册,使用复合查询(_complex),getLastSql输出查询语句,发现查询条件是空的.用字符串模式查询(_string),请求字符串查询(_query)无法满足需求.估计用mongodb的用户不多,thinkphp官方对这方面支持也不够.打开thinkphp的mongodb驱动,Thinkphp/Extend/Driver/Db/DbMongo.class.php,找到protected function

  • window平台安装MongoDB数据库图文详解

    本文介绍了window平台安装MongoDB数据库的详情,具体如下 官网:www.mongodb.org 安装-->设置环境变量-->启动 1.下载: 根据系统下载 32 位或 64 位的 .msi 文件,下载后双击该文件,按提示安装即可, 国外网站打开运行速度比较慢.现在给个国内下载地址.http://www.jb51.net/softs/41751.html 2.设置安装目录: 通过点击 "Custom(自定义)" 按钮来设置你的安装目录,我将其安装在D:\MongoD

  • node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】

    本文实例讲述了node链接mongodb数据库的方法.分享给大家供大家参考,具体如下: 一.安装2.6版本以上的mongodb在云服务器上(百度就能查到安装方法,以及验证是否安装成功一般是mongodb –version): 二.因为mongodb的默认开启端口是27017,所以要在Ubuntu上开启这个端口: ufw allow 27017 ufw enable ufw reload ufw status //这是查看这个端口是否开启,iptables --list也可以查看 光在服务器开了端

  • PHP实现的mongoDB数据库操作类完整实例

    本文实例讲述了PHP实现的mongoDB数据库操作类.分享给大家供大家参考,具体如下: 最近的项目开发中使用的数据库是mongodb数据库,因为小编的公司也是刚刚使用mongodb数据库,所以之前没有封装好的mongodb数据库操作类拿来使用,所以小编在项目中自己封装了一个mongodb数据库操作类,特拿出来分享,不尽人意的地方希望大家勿喷. 众所周知,mongodb是典型的nosql数据库的代表,受到很多开发者的追捧,近几年尤为火热,mongodb的流行不是没有原因的,下边给大家简单介绍下Mo

  • MongoDB数据库基础操作总结

    本文实例讲述了MongoDB数据库基础操作.分享给大家供大家参考,具体如下: 1.创建数据库 >use test > db.test.insert({"name":1}) 插入之后才能查到test 2.查看数据库 >show dbs 3.删除数据库 > use test > db.dropDatabase() 4.创建集合 4.1 集合概念 集合就是一组文档,相当于多条记录. > db.title.insert({"name":&

  • Centos系统搭建MongoDB数据库

    目录 Docker 方式部署 下载镜像 检查是否下载成功,查看dockers镜像 运行docker容器 参数解析 数据持久化 Docker 方式部署 docker search mongo # 查看mongodb可用镜像 下载镜像 docker pull mongo:latest 检查是否下载成功,查看dockers镜像 docker images 运行docker容器 docker run -itd --name mongo -p 27017:27017 mongo --auth 参数解析 -

随机推荐