小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
记录MongoDB的使用相关流程,从数据库的简介到实际代码的应用.
参考资料:
1 MongoDB的概述
1 MongoDB简介
MongoDB是基于C++语言编写的基于分布式文件存储的开源数据库系统,主要是为了给WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
2 MongoDB体系
将MongoDB与关系型数据库MySQL结构对比:
MySQL | MongoDB |
---|---|
database数据库 | database数据库 |
table表 | collection集合 |
row表的一行 | document文档 |
column行的一列 | field文档某个属性 |
index索引 | index索引 |
表连接 | 不支持跨集合查询 |
primary key主键 | primary key |
3MongoDB数据类型
MongoDB的小存储单位就是文档(document)对象,数据在MongoDB中以BSON(Binary-JSON)文档的格式存储在磁盘上.
数据类型 | 说明 |
---|---|
String | 字符串 |
Integer | 整型数值 |
Boolean | 布尔值 |
Double | 双精度浮点值 |
Min/Max keys | 将一个值与 BSON元素的最低值和最高值相对比 |
Array | 用于将数组或列表或多个值存储为一个键 |
Timestamp | 时间戳 |
Object | 用于内嵌文档 |
Null | 用于创建空值 |
Symbol | 符号 |
Date | 日期时间 |
Object ID | 对象 ID |
Binary Data | 二进制数据 |
Code | 代码类型 |
Regular expression | 正则表达式类型 |
2 MongoDB的配置说明
1 Windows安装步骤
以mongodb-win32-x86_64-2008plus-ssl-4.0.12.zip为例
1 下载MongoDB软件
官网下载:
2 解压文件包
解压mongodb-win32-x86_64-2008plus-ssl-4.0.12.zip得到mongodb-win32-x86_64-2008plus-ssl-4.0.12文件目录
3 创建文件存放日志和配置文件
创建log目录和config目录.在config目录中创建配置文件mongod.conf.内容如下:
1 | conf复制代码systemLog: |
4 启动服务
服务端启动
进入文件bin目录,在地址栏使用cmd命令,进入黑窗口, 输入命令: mongod –config …/config/mongod.conf
客户端启动
进入文件bin目录,在地址栏使用cmd命令,进入黑窗口, 输入命令: mongo –host=127.0.0.1 –port=27017
2 MongoDB连接
代码中连接MongoDB服务的标准URI语法:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
- mongodb:// 固定格式
- username:password@ 可选,如果设置,在连接数据库服务器之后,驱动都会尝试登录这个数据库
- host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址
- portX 可选的指定端口,如果不填,默认为27017
- database 如果指定username:password@,连接并验证登录指定数据库。若不指定,默认打开 test 数据库
- ?options 连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开
选项 | 描述 |
---|---|
replicaSet=name | 验证replica set的名称。 Impliesconnect=replicaSet. |
slaveOk=true | false |
safe=true | false |
w=n | 驱动添加 { w : n } 到getLastError命令. 应用于safe=true |
wtimeoutMS=ms | 驱动添加 { wtimeout : ms } 到 getlasterror 命令. 应用于 safe=true |
fsync=true | false |
journal=true | false |
connectTimeoutMS=ms | 可以打开连接的时间 |
socketTimeoutMS=ms | 发送和接受sockets的时间 |
3 Java中MongoDB的使用
Java和MongoDB的基本操作
1 | java复制代码package com.demo.spring.mongoDB; |
本文转载自: 掘金