首页 / 数据库 / MySQL / MongoDB数据库初步认识
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"命令来启动MongoDBmongod --dbpath mongodb/data/"--dbpath"选项指定了MongoDB服务的数据存储目录。如果不指定任何参数,则默认的数据存储目录在"/data/db"。当执行命令以后,会输出当前系统的一些信息和MongoDB服务的一些信息,包括服务的端口号:27017 。4.2 使用mongo shell访问MongoDB服务
mongo shell是一个和MongoDB服务进行交互的客户端, 同时也是一个JavaScript解释器。可以公共mongo shell对MongoDB中的数据进行操作。mongo shell是随MongoDB一起安装的,可以在目录"{MongoDB安装目录}/bin/"下找到"mongo"命令。启动mongo shellmongo如果没有指定任何参数,那么默认将会访问localhost:27017下MongoDB服务。当我们本地起了MongoDB服务以后,就可以直接连接到服务器了:默认的数据库是"test",我们可以通过变量名"db"查看当前激活的数据库:通过"use"命令,可以切换数据库如果完成工作后退出mongo shell,可以输入"exit"命令退出。通过"help"命令,可以获得mongo shell的帮助信息:4.3 通过mongo shell进行CRUD操作
这里简单介绍下如何通过mongo shell进行简单的CRUD操作。假设我们当前在blog数据库中。4.3.1 insert操作
我们给我们的blog数据库的的"post" Collection下添加一篇文章:4.3.2 query操作
在上一步中,我们添加了一个Document到Collection "blog"中,现在我们需要查询这篇文章:4.3.3 update操作
现在,我们需要对这篇blog的内容进行修改:4.3.4 delete操作
最后,删除我们上面添加的post: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.htmCentOS 6 使用 yum 安装MongoDB及服务器端配置 http://www.linuxidc.com/Linux/2012-08/68196.htmUbuntu 13.04下安装MongoDB2.4.3 http://www.linuxidc.com/Linux/2013-05/84227.htmMongoDB入门必读(概念与实战并重) http://www.linuxidc.com/Linux/2013-07/87105.htmUbunu 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.htmNagios监控MongoDB分片集群服务实战 http://www.linuxidc.com/Linux/2014-10/107826.htm基于CentOS 6.5操作系统搭建MongoDB服务 http://www.linuxidc.com/Linux/2014-11/108900.htmMongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里 本文永久更新链接地址