1、连接MongoDB数据库
public void test01() {
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
System.out.println(mongoDatabase);
}
2、连接工具类
public class MongoDBUtil {
public static MongoDatabase getConnect() {
MongoClient mongoclient = new MongoClient("localHost", 27017);
MongoDatabase mongoDatabase = mongoclient.getDatabase("test");
return mongoDatabase;
}
public static MongoDatabase getConnect2() {
List<ServerAddress> adds = new ArrayList<>();
ServerAddress serverAddress = new ServerAddress("localhost", 27017);
adds.add(serverAddress);
List<MongoCredential> credentials = new ArrayList<>();
MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());
credentials.add(mongoCredential);
MongoClient mongoClient=new MongoClient(adds,credentials);
MongoDatabase mongoDatabase=mongoClient.getDatabase("test");
return mongoDatabase;
}
}
3、插入单条数据
public void test02() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
Document document = new Document();
document.append("name", "lisi");
document.append("sex", "man");
document.append("age", 18);
collection.insertOne(document);
}
4、批量插入数据
public void test03() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
List<Document> list = new ArrayList<>();
for (int i = 0; i < 3; i++) {
Document document = new Document("name", "wukong").append("sex", "man").append("age", 18);
list.add(document);
}
collection.insertMany(list);
}
5、删除单条数据
public void test04() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
Bson filter = Filters.eq("age", 18);
collection.deleteOne(filter);
}
6、删除多条数据
public void test05() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
Bson filter = Filters.eq("age", 18);
collection.deleteMany(filter);
}
7、修改单条数据
public void test06() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
Bson filter = Filters.eq("name", "zhangsan");
Document document = new Document("$set", new Document("age", 100));
collection.updateOne(filter, document);
}
8、修改多条数据
public void test07() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
Bson filter = Filters.eq("name", "wukong");
Document document = new Document("$set", new Document("age", 100));
collection.updateMany(filter, document);
}
9、查询集合中的所有数据
public void test08() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> cursor = findIterable.iterator();
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
}
10、查询集合中的第一条数据
public void test10() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
FindIterable<Document> findIterable = collection.find();
Document document = (Document) findIterable.first();
System.out.println(document);
}
11、查询集合中的指定数据
public void test09() {
MongoDatabase mongoDatabase = MongoDBUtil.getConnect();
MongoCollection<Document> collection = mongoDatabase.getCollection("user");
Bson filter = Filters.eq("name", "wukong");
FindIterable<Document> findIterable = collection.find(filter);
MongoCursor<Document> cursor = findIterable.iterator();
while (cursor.hasNext()) {
System.out.println(cursor.next());
}