使用java 操作MongoDB 的增删改查操作
1. 导入jar mongodb D jar包 mongo-java-driver-3.2.2.jar ,可以从 Mong-java-driver 下载jar 包
‘
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
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;
public class MongoDBJDBC {
public static void main(String[] args) {
try {
// 连接到 mongodb 服务
MongoClient mongoClient = new MongoClient("localhost", 27017);
// 连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob"); //连接数据库,你需要指定数据库名称,如果指定的数据库不存在,mongo会自动创建数据库。
mongoDatabase.getCollection("col");
System.out.println("Connect to database successfully");
// mongoDatabase.createCollection("test");
System.out.println("集合创建成功");
MongoCollection collection = mongoDatabase
.getCollection("test");
// 插入文档
/**
* 1. 创建文档 org.bson.Document 参数为key-value的格式
* 2. 创建文档集合List
* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List)
* 插入单个文档可以用 mongoCollection.insertOne(Document)
* */
Document document = new Document("title", "MongoDB")
.append("description", "database").append("likes", 100)
.append("by", "Fly");
List documents = new ArrayList();
documents.add(document);
collection.insertMany(documents);
//collection.insertOne(document);;
System.out.println("文档插入成功");
// 检索所有文档
/**
* 1. 获取迭代器FindIterable 2. 获取游标MongoCursor 3.
* 通过游标遍历检索出的文档集合
* */
FindIterable findIterable = collection.find();
MongoCursor mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println("----------------" + mongoCursor.next());
}
// 更新文档 将文档中likes=100的文档修改为likes=200
collection.updateMany(Filters.eq("likes", 100), new Document(
"$set", new Document("likes", 200)));
// 检索查看结果
FindIterable findIterable1 = collection.find();
MongoCursor mongoCursor1 = findIterable1.iterator();
while (mongoCursor1.hasNext()) {
System.out.println("更新文档 将文档中likes=100的文档修改为likes=200 "
+ mongoCursor1.next());
}
// 删除符合条件的第一个文档
collection.deleteOne(Filters.eq("likes", 200));
// 删除所有符合条件的文档
collection.deleteMany(Filters.eq("likes", 200));
// 检索查看结果
FindIterable findIterable2 = collection.find();
MongoCursor mongoCursor2 = findIterable2.iterator();
while (mongoCursor2.hasNext()) {
System.out.println("删除符合条件的" + mongoCursor2.next());
}
System.out.println("操作结束了");
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
}
}
`