阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MongoDB数据库初步认识

103次阅读
没有评论

共计 2729 个字符,预计需要花费 7 分钟才能阅读完成。

1. 初识

接触 MongoDB,是由于最近在工作中用到了 MongoDB 做数据存储。之前也听说过这个 NoSQL 数据库,但是一直没有尝试去使用它做开发。这次趁着这个机会,想好好学习下这个 NoSQL 数据库。每次听到这个名字,总是想,为什么它的 Logo 不是一个芒果呢!

2. 简介

MongoDB 是一款 C ++ 编写的开源的跨平台面向文档数据库,是 NoSQL 数据库的一种。MongoDB 摒弃了传统数据库中基于表的数据结构,采用类似 JSON 格式的文档结构来存储数据(MongoDB 中称这种格式为 BSON)。MongoDB 最初是由 10gen(2013 年更名为 MongoDB Inc.)公司于 2007 年开发的,并于 2009 年开源。

3. 术语

在使用 MongoDB 前,我们有必要了解下 MongoDB 中的术语。就像我们使用关系型数据一样,我们得先了解下什么是表(Table),什么是数据库(Schema)。

3.1 Document

是 MongoDB 中的数据的基本单元,类似于我们熟悉的关系型数据库中 ” 行 ” 的概念。在 MongoDB 中,Document是一系列有序的键值对的集合。在编程语言中,像 Map,Hashtable 和 Dictionary 等数据结构可以和这种存储结构相匹配,比如对于 JavaScript 而言,它的对象就是以这种格式表示的。

{"greeting" : "Hello, world!"}

3.2 Collection

在 MongoDB 中,一个 Collection 是由一组 Document 组成的。类似的,Document 对应于关系数据中的 ” 行 ” 的概念,那么 Collection 就对应了数据库中 ” 表 ” 的概念。

在 Collection 中存储的 Document,必须包含一个 ”_id” 字段,用于表示纪录的主键,如果 Document 中没有包含,则 MongoDB 会自动生成一个。

MongoDB 中的 Collection 具有动态模式的特定,意思就是在一个 Collection 中包含的 Document,可以具有不同的结构。这个和关系型数据库不同,关系型数据中,表中的每一行的格式都是一致的。在 MongoDB 中,一个 Collection 可以包含不同格式的 Document:

{"greeting" : "Hello, world!"}
{"foo" : 5}

3.3 Database

就像一系列的 Document 组成了一个 Collection,在 MongoDB 中,一系列的 Collection 就组成了 Database。一个 Database 具有自己的权限控制,每个 Database 存储在独立的数据文件中。

4. 使用

4.1 启动 MongoDB 服务

通过 MongoDB 提供的 ”mongod” 命令来启动 MongoDB

mongod --dbpath mongodb/data/

“–dbpath” 选项指定了 MongoDB 服务的数据存储目录。如果不指定任何参数,则默认的数据存储目录在 ”/data/db”。当执行命令以后,会输出当前系统的一些信息和 MongoDB 服务的一些信息,包括服务的端口号:27017。

MongoDB 数据库初步认识

4.2 使用mongo shell 访问 MongoDB 服务

mongo shell 是一个和 MongoDB 服务进行交互的客户端,同时也是一个 JavaScript 解释器。可以公共mongo shell 对 MongoDB 中的数据进行操作。mongo shell 是随 MongoDB 一起安装的,可以在目录 ”{MongoDB 安装目录}/bin/” 下找到 ”mongo” 命令。

启动mongo shell

mongo

如果没有指定任何参数,那么默认将会访问 localhost:27017 下 MongoDB 服务。当我们本地起了 MongoDB 服务以后,就可以直接连接到服务器了:

MongoDB 数据库初步认识

默认的数据库是 ”test”,我们可以通过变量名 ”db” 查看当前激活的数据库:

MongoDB 数据库初步认识

通过 ”use” 命令,可以切换数据库

MongoDB 数据库初步认识

如果完成工作后退出mongo shell,可以输入 ”exit” 命令退出。

通过 ”help” 命令,可以获得mongo shell 的帮助信息:

MongoDB 数据库初步认识

4.3 通过mongo shell 进行 CRUD 操作

这里简单介绍下如何通过mongo shell 进行简单的 CRUD 操作。

假设我们当前在 blog 数据库中。

4.3.1 insert 操作

我们给我们的 blog 数据库的的 ”post” Collection 下添加一篇文章:

MongoDB 数据库初步认识

4.3.2 query 操作

在上一步中,我们添加了一个 Document 到 Collection “blog” 中,现在我们需要查询这篇文章:

MongoDB 数据库初步认识

4.3.3 update 操作

现在,我们需要对这篇 blog 的内容进行修改:

MongoDB 数据库初步认识

4.3.4 delete 操作

最后,删除我们上面添加的 post:

MongoDB 数据库初步认识

5. 总结

这里,我们只是对 MongoDB 做了一个简单的认识,至于它的 CRUD 的各种语法,以及mongo shell 的使用,且听下回分解~见 http://www.linuxidc.com/Linux/2016-08/134153.htm

更多 MongoDB 相关教程见以下内容

CentOS 编译安装 MongoDB 与mongoDB 的 php 扩展 http://www.linuxidc.com/Linux/2012-02/53833.htm

CentOS 6 使用 yum 安装 MongoDB 及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htm

Ubuntu 13.04 下安装 MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htm

MongoDB 入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htm

Ubunu 14.04 下 MongoDB 的安装指南 http://www.linuxidc.com/Linux/2014-08/105364.htm

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] http://www.linuxidc.com/Linux/2012-07/66735.htm

Nagios 监控 MongoDB 分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm

基于 CentOS 6.5 操作系统搭建 MongoDB 服务 http://www.linuxidc.com/Linux/2014-11/108900.htm

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

 

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-08/134152.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2729字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中