mongoDB的入门
来源:互联网 发布:鄂南高中2017高考数据 编辑:程序博客网 时间:2024/06/07 19:23
这是本人第一篇博客,以前都是在笔记本或者电子笔记本上记录,工作学习过程中,在他人博客上学到很多技术、经验。我就想着,自己也可以开始博客之旅,为自己积累经验和技术,也能为他人分享自己的一点点经验和技术。这里主要是本人接触MongoDB的总结,适合前端小白,如果有大牛路过发现有不对的地方,还望能赐教。
一、数据库
1. 数据库的概念
- 按照数据结构有组织地存放数据
- 按照不同的需求进行查询
2.数据库的分类
- SQL数据
支持Sql语言的数据库(传统的数据库)
Oracle、MySQL
- NoSQL数据库
Redis、MongoDB
3. MongoDB的优势
- 免费
- 开源
- 官方良好技术支持
现在使用mongoDB的网站有很多,例如
国内:天天动听、百度、淘宝网、大众点评、360、京东等
国外:Ebay、github、sf
二、MongoDB学习教程相关网址
1. MongoDB官网
https://www.mongodb.com
2. MongoDB的github
https://github.com/mongodb/
3.MongoDB的菜鸟教程
http://www.runoob.com/mongodb/mongodb-tutorial.html
4.MongoDB中文社区
http://www.mongoing.com/
三、MongoDB 简介
1. 什么是MongoDB
MongoDB是将数据存储为一个文档,数据结构由键值对组成。
键值对指: key: value
MongoDB文档类似于JSON对象。字段值可以包含其他文档类型,如数组、数组文档等
2.MongoDB和MySQL的区别
MongoDB:
- 稳定性
- 索引存放在内存中,能提高随机读写的性能。
- 占用内存空间很大。
- 数据存储为文档,数据结构由键值对组成,类似JSON对象
MySQL:
- 使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量
- 数据以表格的形式出现
- 每行为各种记录名称
- 许多的行和列组成一张表单
- 若干的表单组成database
四、各平台下安装MongoDB
1. window 平台下安装MongoDB
a. MongoDB官网提供下载地址:
https://www.mongodb.com/download-center#community
点击下载 .msi 程序
- Windows Server 64-bit 适合64位的Window系统
- 在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统。最新版本也已经没有了 32 位系统的安装文件。
注意:mongoDB的github上有各版本的源文件,若在github上下载的源文件需要编译解析为程序方可使用
个人建议直接在官网下载最新版本进行安装,安装流程与一般程序安装类似。
程序安装完成,我们需手动点击按钮进行重启系统
b. 创建数据目录
MongoDB将数据存储在db目录下。但这个db目录不会自动创建,我们需要安装MongoDB完成后手动创建。需要注意,我们数据目录应该将db目录放在根目录下(如: C:\或者 D:\)
我们可以创建C:\目录下创建一个data目录(如果存在,则不需要重新创建),在data目录下创建db目录。
c. 将MongoDB的bin目录路径写入系统环境变量的path
- 如果系统变量path找不到MongoDB的bin目录,那么执行MongoDB的服务、连接MongoDB数据库,都得通过进入MongoDB目录的bin目录,再执行mongod.exe程序
- 如果系统变量path设置了MongoDB的bin目录,那么执行MongoDB的服务、连接MongoDB数据库,可以直接在命令行任何目录下,通过mongod、mongo命令运行程序
d. 命令行启动MongoDB服务器
mongod --dbpath c:\data\db
如果成功启动服务,会输出如下信息
注意:开启服务成功后,如需连接数据库,则需要另开窗口执行对应的命令,不能在启动服务的窗口通过 Ctrl+C退出服务。
如果在关闭服务后执行mongo 命令进行连接数据库,则会报错连接失败:
C:\>mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
2017-09-18T17:23:26.716+0800 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017 after 5000ms milliseconds, giving up.
2017-09-18T17:23:26.717+0800 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
2017-09-18T17:23:26.716+0800 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017 after 5000ms milliseconds, giving up.
2017-09-18T17:23:26.717+0800 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:237:13
@(connect):1:6
exception: connect failed
e. 启动MongoDB服务器后,连接MongoDB
五、数据库的一些概念
1. MongoDB中的基本概念是文档、集合、数据库
- database : 数据库
- collection : 集合
- document : 文档
- field : 域
- index : 索引
- primary : 主键,MongoDB自动将_id字段设置为主键
2. 数据库
一个mongoDB中可建立多个数据库。MongoDB的默认数据库为:”db“,该数据库存储在data目录中。【即我们在前面手动创建的数据库目录db】
数据库命名规范:
- 不能为空字符串("")
- 不能含有” “(空格)、. 、$、/、\ 和 \0(空字符)
- 应全部小写
- 最多64字节
一些数据库名是保留的
- admin: 要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器
- local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
- config:config数据库在内部使用,用于保存分片的相关信息。
3. 文档
文档是一组键值对(即JSON)。MongoDB的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是MongoDB 非常突出的特点。
文档键命名规范:
- 键不能含有\0(空字符)。这个字符用来表示键的结尾
- 和$有特别的意义,只有在特定环境下才能使用。
- 以下划线"_"开头的键是保留的(不是严格要求的)。
文档需要注意的地方:
- 文档中的键/值对是有序的。
- 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
- MongoDB区分类型和大小写。
- MongoDB的文档不能有重复的键。
- 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
4. 集合
集合就是MongoDB文档组,相当于mySQL的table(数据表)。
集合的命名规范:
- 集合名不能是空字符串""。
- 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾
- 集合名不能以"system."开头,这是为系统集合保留的前缀。
- 用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。
阅读全文
0 0
- MongoDB的菜鸟入门
- Mongodb的入门学习
- mongoDB的入门
- MongoDB入门学习(四):MongoDB的索引
- 【MongoDB】MongoDB的安装与入门
- MongoDB的使用(入门篇)
- 关于MongoDb的简单入门
- 关于MongoDb的简单入门
- NoSQL Mongodb的快速入门
- 我的 mongodb 入门笔记
- Nodejs学习笔记(十)--- 与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门
- [MongoDB]MongoDB Java 入门
- mongodb入门
- MongoDB入门
- MongoDB入门
- mongoDB 入门
- mongoDB 入门
- mongoDB 入门
- 【SoapUI】2、SoapUI进行API Mock测试分析
- 字符串排序
- 变量本质分析
- linux 下文件的创建时间、访问时间、修改时间和改变时间
- GLSL 转UnityShader
- mongoDB的入门
- xss攻击方法简单介绍了解
- Android4.4以上Uri转换成绝对路径的工具类
- Ubuntu安装Tomcta
- Java并发编程(二)--java线程安全的一些基础
- 简单使用canvas 绘制总量图,饼图,折线图2
- 浏览器渲染Rendering那些事:repaint、reflow/relayout、restyle
- shiro
- varchar PK varchar2