MongoDB入门
一、基础概念
在mongoDB中通过数据库、集合、文档的方式来管理数据,下面是MongoDB与关系数据库的一些概念对比:
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接(MongoDB不支持) | |
primary key | primary key | 主键,MongoDB自动在每个集合中添加ID的主键 |
![img](https://i-blog.csdnimg.cn/blog_migrate/962ca1340f8ed9b15c210df45214eb7c.png)
1、一个MongoDB实例可以创建多个数据库
2、一个数据库可以创建多个集合
3、一个集合可以包含多个文档
二、连接MongoDB
MongoDB的使用方式是客户端服务器模式,即使用一个客户端连接MongoDB数据库(服务端)
1、命令格式
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
- mongodb:// 固定前缀
- username: 账号,可不填
- password: 密码,可不填
- host:主机名或IP地址,只有host主机名为必填项
- port:端口,可不填写,默认27017
- /database:连接某一个数据库
- ?options:连接参数,key/value键值对
例子:
mongodb://localhost 连接本地数据库27017端口
mongodb://root:itcast@localhost 使用用户名root密码为itcast连接本地数据库27017端口
mongodb://localhost,localhost:27018,localhost:27019,连接三台主从服务器,端口为27017、27018、27019
2.1、使用mongodb自带的javascript shell连接
Windows版本的MongoDB安装成功,在安装目录下的bin目录有mongo.exe客户端程序
![img](https://i-blog.csdnimg.cn/blog_migrate/6f4bddee63e28260193b34326dbf0257.png)
cmd状态执行mongo.exe
![img](https://i-blog.csdnimg.cn/blog_migrate/064c21bea31a5865ee20dcfc5b3edbd2.png)
此时就可以输入命令来操作mongodb数据库了,javascript shell可以运行javascript程序
2.2、使用studio3T连接
![img](https://i-blog.csdnimg.cn/blog_migrate/c994672774e5648472dbe617ad1f98a1.png)
![img](https://i-blog.csdnimg.cn/blog_migrate/acfa3ecfadcecef4a17247c365539b9f.png)
![img](https://i-blog.csdnimg.cn/blog_migrate/a7e58af303b2e9cd7fbb15af53f35efc.png)
![img](https://i-blog.csdnimg.cn/blog_migrate/afd26ebc3e43cafde7a321e638c1e9dc.png)
2.3、使用java程序连接
添加依赖
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.3</version>
</dependency>
测试程序
@Test
public void testConnection(){
//创建mongodb 客户端
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
//或者采用连接字符串
//MongoClientURI connectionString = new
MongoClientURI("mongodb://root:root@localhost:27017");
//MongoClient mongoClient = new MongoClient(connectionString);
//连接数据库
MongoDatabase database = mongoClient.getDatabase("test");
// 连接collection
MongoCollection<Document> collection = database.getCollection("student");
//查询第一个文档
Document myDoc = collection.find().first();
//得到文件内容 json串
String json = myDoc.toJson();
System.out.println(json);
}