【文件属性】:
文件名称:MongoDB_Demo
文件大小:4KB
文件格式:JAVA
更新时间:2022-05-12 11:58:31
mongod
package dzs.com.MongoDB;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
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 {
private static String uri ="mongodb://dzs:123456@127.0.0.1:27017/test";
@SuppressWarnings("deprecation")
public static void main(String[] args){
try {
//连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址
//ServerAddress()两个参数分别为 服务器地址 和 端口
ServerAddress serverAddress = new ServerAddress("localhost",27017);
List addrs = new ArrayList();
addrs.add(serverAddress);
//MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
MongoCredential credential = MongoCredential.createScramSha1Credential("admin", "test", "123456".toCharArray());
List credentials = new ArrayList();
credentials.add(credential);
//1、通过连接认证获取MongoDB连接
MongoClient mongoClient = new MongoClient(addrs,credentials);
MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
System.out.println("1--Connect to database successfully");
//2、通过uri方式连接MongoDB uri根据选择的数据库修改登录用户dzs
MongoClientURI mongoClientUri =new MongoClientURI(uri);
MongoClient mongoclient =new MongoClient(mongoClientUri);
//连接到数据库
MongoDatabase mongoDatabase2 = mongoclient.getDatabase("test");
System.out.println("2--Connect to database successfully");
//使用test数据库,如果不存在会自动创建
MongoCollection collection = mongoDatabase2.getCollection("test");
System.out.println("集合 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);
System.out.println("文档插入成功");
/**检索所有文档
* 1. 获取迭代器FindIterable
* 2. 获取游标MongoCursor
* 3. 通过游标遍历检索出的文档集合
* */
FindIterable findIterable = collection.find();
MongoCursor mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println(mongoCursor.next());
}
System.out.println("检索所有文档成功");
//更新文档 将文档中likes=100的文档修改为likes=200
collection.updateMany(Filters.eq("likes", 100), new Document("$set", new Document("likes", 200)));
//检索查看结果
findIterable = collection.find();
mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println(mongoCursor.next());
}
System.out.println("更新文档成功");
//删除符合条件的第一个文档
collection.deleteOne(Filters.eq("likes", 200));
//删除所有符合条件的文档
collection.deleteMany(Filters.eq("likes", 200));
//检索查看结果
findIterable = collection.find();
mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println(mongoCursor.next());
}
System.out.println("删除文档成功");
} catch (Exception e) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
}
}
}