一、启动服务
首先开启MongoDB服务
- 第一步,先找到MongoDB安装的文件夹,进入到bin目录下
- 第二步,启动MongoDB服务
–dbpath指的是MongoDB存储数据的路径,在安装的时候会提示你建立这个文件夹的,没有可以自己建立一个。
- 第三步,验证
启动之后会有很多的信息弹出来
默认启动在27017端口,然后打开我们的可视化工具
发现已经连接上了
然后另起一个窗口,到第一步的目录下执行如下语句,然后就会默认连接上一个数据库,叫test
然后我们进行一个基本的操作,
切换数据库,名字叫spitDB,
然后生成一张表,叫spit,然后插入一条数据{content:“20191020”,visits:10}
二、常用操作
在介绍之前,我们先手动添加一下相关依赖
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.6.3</version>
</dependency>
文档型数据库,必然是经常基于在文字上进行各种各样的操作,比如说评论。
下面就介绍一下常规的操作
- 简单查询
public class MongoTest {
public static void main(String[] args) {
//链接mongo服务器
MongoClient client = new MongoClient("127.0.0.1");
//得到要操作的数据库
MongoDatabase spitDB = client.getDatabase("spitDB");
//得到要操作的集合
MongoCollection<Document> spit = spitDB.getCollection("spit");
//得到集合中所有的文档
FindIterable<Document> documents = spit.find();
//遍历数据
for (Document document : documents) {
System.out.println("内容:" + document.getString("content"));
System.out.println("访问量:" + document.getDouble("visits"));
}
client.close();
}
}
- 复杂查询
public class MongoTest2 {
public static void main(String[] args) {
//链接mongo服务器
MongoClient client = new MongoClient("127.0.0.1");
//得到要操作的数据库
MongoDatabase spitDB = client.getDatabase("spitDB");
//得到要操作的集合
MongoCollection<Document> spit = spitDB.getCollection("spit");
//封装查询条件
//BasicDBObject bson = new BasicDBObject("visits", 10);//查询visits=10的那一列
BasicDBObject bson = new BasicDBObject("visits", new BasicDBObject("$gt", 100));//$gt是大于的意思,查询visits>1000的消息
//得到集合中所有的文档
FindIterable<Document> documents = spit.find(bson);
//遍历数据
for (Document document : documents) {
System.out.println("内容:" + document.getString("content"));
System.out.println("访问量:" + document.getDouble("visits"));
}
client.close();
}
}
- 添加数据
/**
* 添加数据
*/
public class MongoTest3 {
public static void main(String[] args) {
//链接mongo服务器
MongoClient client = new MongoClient("127.0.0.1");
//得到要操作的数据库
MongoDatabase spitDB = client.getDatabase("spitDB");
//得到要操作的集合(表)
MongoCollection<Document> spit = spitDB.getCollection("spit");
//添加一条记录
Map<String, Object> map = new HashMap<>();
map.put("content", "时间就像一阵风");
map.put("visits", 100.0);
Document document = new Document(map);
spit.insertOne(document);
//添加之后进行简单查询
FindIterable<Document> documents = spit.find();
for (Document document1 : documents) {
System.out.println("内容:" + document1.getString("content"));
System.out.println("访问量:" + document1.getDouble("visits"));
}
client.close();
}
}