首先必须下载mongo jar包,下载地址:http://mongodb.github.io/mongo-java-driver/, 请确保下载最新版本。
- 你需要将 mongo-java-driver-3.2.2.jar (找到合适的版本)包含在你的 classpath 中。。
- 国内 mongodb-driver jar 下载地址:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/
Java代码:
package com.hlx.test;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import org.junit.Test;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.sun.org.apache.bcel.internal.generic.NEW;
public class MongoDao {
// 连接到 mongodb 服务
MongoClient mongo = null;
// 连接到数据库
MongoDatabase base = null;
// 获得集合-文档
MongoCollection<Document> coll = null;
/**
* mongo-java-driver-3.5.0.jar
*/
public MongoDao() {
// 1.create object mongo object
// 默认构造方法,默认是连接本机,端口号,默认是27017
mongo = new MongoClient("localhost", 27017);
// 其中参数是具体数据库的名称,若服务器中不存在,会自动创建
// 连接到数据库
base = mongo.getDatabase("mydb");
// 集合创建成功
base.createCollection("user");
System.out.println("集合创建成功");
System.out.println("Connect to database successfully!");
}
// 插入文档
/**
* 1. 创建文档 org.bson.Document 参数为key-value的格式 2. 创建文档集合List<Document> 3.
* 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用
* mongoCollection.insertOne(Document)
* */
public void save() {
// 获得集合user
coll = base.getCollection("user");
System.out.println("集合 user 选择成功");
// 文档对象
Document document = new Document("title", "java OOP")
.append("type", "java")
.append("desc", "hello!")
.append("count", 10);
Document document1 = new Document("title", "小熊不刷牙!")
.append("type", "绘本")
.append("desc", "刷牙")
.append("count", 15);
// 集合列表
List<Document> lists = new ArrayList<Document>();
// 添加文档
lists.add(document);
lists.add(document1);
// 将文档添加user集合中
coll.insertMany(lists);
System.out.println("文档插入成功!");
// 检索查看结果
all(coll);
}
// 检索所有文档
/**
* 1. 获取迭代器FindIterable<Document> 2. 获取游标MongoCursor<Document> 3.
* 通过游标遍历检索出的文档集合
* */
public void all(MongoCollection<Document> coll) {
// 获得迭代器
FindIterable<Document> findIt = coll.find();
// 获取游标
MongoCursor<Document> cursor = findIt.iterator();
// 遍历
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
}
/**
* 更新文档 将文档中count=10的文档修改为count=50
*/
public void update() {
coll = base.getCollection("user");
System.out.println("集合 user 选择成功==>修改");
// 更新,one:条件 two:修改数据
coll.updateMany(Filters.eq("count", 10), new Document("$set",
new Document("count", 50)));
// 检索查看结果
all(coll);
}
/**
* 删除数据
*/
public void del() {
coll = base.getCollection("user");
System.out.println("集合 user 选择成功---》删除");
// 删除符合条件的第一个文档
coll.deleteOne(Filters.eq("count", 50));
// 删除所有符合条件的文档
// coll.deleteMany(Filters.eq("count", 15));
// 检索查看结果
all(coll);
}
}
测试:
public static void main(String[] args) {
MongoDao dao= new MongoDao();
dao.save();
dao.update();
dao.del();
}
测试结果: