pom.xml 依赖
<dependencies>
<dependency>
<groupId>org.mongodbgroupId>
<artifactId>mongodb-driverartifactId>
<version>3.6.3version>
dependency>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.10version>
<scope>testscope>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
命令行创建数据库
use spitdb
创建集合spit并添加数据
db.spit.insert({_id:"1",content:"996还是007,年轻人该何去何从",userid:"1012",nickname:"忧郁猫",visits:NumberInt(2020)});
db.spit.insert({_id:"2",content:"关于秃头程序员如何护发",userid:"1013",nickname:"李大富",visits:NumberInt(1023)});
db.spit.insert({_id:"3",content:"不会做饭的程序员不是一个好厨子",userid:"1013",nickname:"李大嘴",visits:NumberInt(111)});
db.spit.insert({_id:"4",content:"人到中年就发福",userid:"1014",nickname:"土肥圆",visits:NumberInt(1223)});
db.spit.insert({_id:"4",content:"从删库跑路到精通java",userid:"1014",nickname:"工程狗",parentid:"2",visits:NumberInt(1223)});
@Test
public void findTest() {
// 创建连接
MongoClient client = new MongoClient("192.168.1.90", 27017);
// 获取数据库对象
MongoDatabase spitdb = client.getDatabase("spitdb");
// 获取集合
MongoCollection<Document> spit = spitdb.getCollection("spit");
// 获取集合中的文档 查询所有
FindIterable<Document> documents = spit.find();
// 条件查询 查询 userid为 1013的记录
BasicDBObject dbObject = new BasicDBObject("userid", "1013");
FindIterable<Document> filterFind = spit.find(dbObject);
// 条件查询 查询浏览量 大于 1000 的记录
BasicDBObject gtObject = new BasicDBObject("visits", new BasicDBObject("$gt", 1000));
FindIterable<Document> gtFilterFind = spit.find(gtObject);
// 展示查询结果
for (Document doc : gtFilterFind) {
System.out.println("_id: " + doc.get("_id"));
System.out.println("content: " + doc.getString("content"));
System.out.println("userid: " + doc.getString("userid"));
System.out.println("nickname: " + doc.getString("nickname"));
System.out.println("--------------------------------------------");
}
// 关闭连接
client.close();
}
@Test
public void saveTest() {
// 创建连接
MongoClient client = new MongoClient("192.168.1.90", 27017);
// 获取数据库对象
MongoDatabase spitdb = client.getDatabase("spitdb");
// 获取集合
MongoCollection<Document> spit = spitdb.getCollection("spit");
// 添加一条数据
Map<String, Object> map = new HashMap<String, Object>();
map.put("_id", "5");
map.put("content", "人到中年不得已,一顿能吃三碗米");
map.put("userdid", "1015");
map.put("nickname", "李富贵");
map.put("publishtime", new Date());
Document document = new Document(map);
spit.insertOne(document);
// 获取集合中的文档 查询所有
FindIterable<Document> documents = spit.find();
// 展示查询结果
for (Document doc : documents) {
System.out.println("_id: " + doc.get("_id"));
System.out.println("content: " + doc.getString("content"));
System.out.println("userid: " + doc.getString("userid"));
System.out.println("nickname: " + doc.getString("nickname"));
System.out.println("--------------------------------------------");
}
// 关闭连接
client.close();
}
@Test
public void updateTest() {
// 创建连接
MongoClient client = new MongoClient("192.168.1.90", 27017);
// 获取数据库对象
MongoDatabase spitdb = client.getDatabase("spitdb");
// 获取集合
MongoCollection<Document> spit = spitdb.getCollection("spit");
// 更新一条记录 把 nickname = 李富贵更改为张富贵
Document document = new Document("nickname", "张富贵");
UpdateResult a = spit.updateOne(Filters.eq("nickname", "李富贵"), new Document("$set", document));
// 获取集合中的文档 查询所有
FindIterable<Document> documents = spit.find();
// 展示查询结果
for (Document doc : documents) {
System.out.println("_id: " + doc.get("_id"));
System.out.println("content: " + doc.getString("content"));
System.out.println("userid: " + doc.getString("userid"));
System.out.println("nickname: " + doc.getString("nickname"));
System.out.println("--------------------------------------------");
}
// 关闭连接
client.close();
}
@Test
public void deleteTest() {
// 创建连接
MongoClient client = new MongoClient("192.168.1.90", 27017);
// 获取数据库对象
MongoDatabase spitdb = client.getDatabase("spitdb");
// 获取集合
MongoCollection<Document> spit = spitdb.getCollection("spit");
// 删除一条记录 如果有多个记录符合条件 那么根据添加时间删除最早的一条
DeleteResult res = spit.deleteOne(Filters.eq("userid", "1014"));
System.out.println(res);
// 获取集合中的文档 查询所有
FindIterable<Document> documents = spit.find();
// 展示查询结果
for (Document doc : documents) {
System.out.println("_id: " + doc.get("_id"));
System.out.println("content: " + doc.getString("content"));
System.out.println("userid: " + doc.getString("userid"));
System.out.println("nickname: " + doc.getString("nickname"));
System.out.println("--------------------------------------------");
}
// 关闭连接
client.close();
}