1.创建mongo_demo工程并且引入依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>mongo_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mongodb/mongodb-driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.9.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
2.编写测试类
package com.xdp.test;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.junit.Test;
public class MongoTest {
@Test
public void mongoConnect1() {
//创建连接
MongoClient mongoClient = new MongoClient("10.211.55.28");
//获取数据库
MongoDatabase database = mongoClient.getDatabase("spitdb");
//获取集合
MongoCollection<Document> collection = database.getCollection("spit");
//获取文档
FindIterable<Document> documents = collection.find();
//遍历文档的集合
for (Document document:documents){
System.out.println("内容:"+ document.getString("content"));
System.out.println("用户ID:"+document.getString("userid"));
System.out.println("浏览量:"+document.getInteger("visits"));
}
//关闭连接
mongoClient.close();
}
}
3.运行结果
4.条件查询
4.1查询userid为1013的记录
/**
* 条件查询
* BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key-
* value的数据结构,用起来和HashMap是基本一致的。
*/
@Test
public void mongoConnect2() {
//创建连接
MongoClient mongoClient = new MongoClient("10.211.55.28");
//获取数据库
MongoDatabase database = mongoClient.getDatabase("spitdb");
//获取集合
MongoCollection<Document> collection = database.getCollection("spit");
//构建查询条件
BasicDBObject basicDBObject = new BasicDBObject("userid", "1013");
//获取文档
FindIterable<Document> documents = collection.find(basicDBObject);
//遍历文档的集合
for (Document document:documents){
System.out.println("内容:"+ document.getString("content"));
System.out.println("用户ID:"+document.getString("userid"));
System.out.println("浏览量:"+document.getInteger("visits"));
}
//关闭连接
mongoClient.close();
}
4.2查询浏览量大于1000的记录
@Test
public void mongoConnect3() {
//创建连接
MongoClient mongoClient = new MongoClient("10.211.55.28");
//获取数据库
MongoDatabase database = mongoClient.getDatabase("spitdb");
//获取集合
MongoCollection<Document> collection = database.getCollection("spit");
//构建查询条件
BasicDBObject basicDBObject = new BasicDBObject("visits", new BasicDBObject("$gt",1000));
//获取文档
FindIterable<Document> documents = collection.find(basicDBObject);
//遍历文档的集合
for (Document document:documents){
System.out.println("内容:"+ document.getString("content"));
System.out.println("用户ID:"+document.getString("userid"));
System.out.println("浏览量:"+document.getInteger("visits"));
}
//关闭连接
mongoClient.close();
}
5.插入数据
@Test
public void mongoConnect4() {
//创建连接
MongoClient mongoClient = new MongoClient("10.211.55.28");
//获取数据库
MongoDatabase database = mongoClient.getDatabase("spitdb");
//获取集合
MongoCollection<Document> collection = database.getCollection("spit");
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("content","我要吐槽");
map.put("userid","9999");
map.put("visits",123);
map.put("publishtime",new Date());
Document document = new Document(map);
collection.insertOne(document);
//关闭连接
mongoClient.close();
}