MongoDB学习之Java操作MongoDB MongoDB Java Driver3.X
首先,我们的先开启mongodb服务,以及创建需要连接的数据库,以及连接的用户。
创建数据库:https://blog.csdn.net/lwx356481/article/details/82215723
创建用户:https://blog.csdn.net/lwx356481/article/details/82461539
准备好了这些之后,可以下载 MongoDB Java Driver的jar包,本次使用的是3.8.1版本的jar包
使用idea创建一个java的工程。然后开始编写工程。
首先我们来写连接数据库mongo的demo
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
System.out.println(db.getCollection("students").countDocuments(new BasicDBObject()));
db.getCollection("stucol").drop();
client.close();
连接上数据库之后,进行插入数据的操作的demo
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
MongoCollection col = db.getCollection("stucol");
List<Document> all = new ArrayList<Document>();
for (int i = 0; i < 1000; i++) {
Document doc = new Document();
doc.append("sid",i);
doc.append("name","姓名 - " + i);
doc.append("sex",i%2==0?"M":"F");
all.add(doc);
}
col.insertMany(all);
client.close();
插入完成数据之后,进行数据的基本查询
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
MongoCollection col = db.getCollection("stucol");
MongoCursor cursor = col.find().iterator();
while (cursor.hasNext()){
System.out.println(cursor.next());
}
client.close();
范围查询
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
MongoCollection col = db.getCollection("stucol");
BasicDBObject cond = new BasicDBObject();
cond.put("sid",new BasicDBObject("$in",new int[]{1,2,3,4,5,6,7,8,9}));
MongoCursor cursor = col.find(cond).iterator();
while (cursor.hasNext()){
System.out.println(cursor.next());
}
client.close();
分页查询
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
MongoCollection col = db.getCollection("stucol");
BasicDBObject cond = new BasicDBObject();
cond.put("sid",new BasicDBObject("$in",new int[]{1,2,3,4,5,6,7,8,9}));
MongoCursor cursor = col.find(cond).skip(1).limit(5).iterator();
while (cursor.hasNext()){
System.out.println(cursor.next());
}
client.close();
模糊查询(查询的字段为str)
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
Pattern pattern = Pattern.compile("5");
MongoCollection col = db.getCollection("stucol");
BasicDBObject cond = new BasicDBObject();
cond.put("name",new BasicDBObject("$regex",pattern));
MongoCursor cursor = col.find(cond).iterator();
while (cursor.hasNext()){
System.out.println(cursor.next());
}
client.close();
条件查询
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
MongoCollection col = db.getCollection("stucol");
BasicDBObject cond = new BasicDBObject();
cond.put("sid",new BasicDBObject("$gte",10).append("$lte",50));
MongoCursor cursor = col.find(cond).iterator();
while (cursor.hasNext()){
System.out.println(cursor.next());
}
client.close();
更新操作
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
MongoCollection col = db.getCollection("stucol");
BasicDBObject condA = new BasicDBObject();
condA.put("sid",0);
BasicDBObject condB = new BasicDBObject();
condB.put("$set",new BasicDBObject("name","test"));
UpdateResult result = col.updateMany(condA,condB);
System.out.println(result.getModifiedCount());
client.close();
删除操作
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
MongoDatabase db = client.getDatabase("mldn");
MongoCollection col = db.getCollection("stucol");
BasicDBObject condA = new BasicDBObject();
condA.put("sid",0);
DeleteResult result = col.deleteOne(condA);
System.out.println(result.getDeletedCount());
client.close();
聚合操作
MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
//获取连接mongodb数据库
MongoClient client = new MongoClient(uri);
//连接mldn的数据库
List<BasicDBObject> list = new ArrayList<BasicDBObject>();
MongoDatabase db = client.getDatabase("mldn");
MongoCollection col = db.getCollection("stucol");
BasicDBObject condA = new BasicDBObject();
condA.put("$group",new BasicDBObject("_id","$sex").append("count",new
BasicDBObject("$sum",1)));
list.add(condA);
MongoCursor cursor = col.aggregate(list).iterator();
while (cursor.hasNext()){
System.out.println(cursor.next());
}
client.close();
版权声明: 原创文章,如需转载,请注明出处。 https://blog.csdn.net/lwx356481/article/details/82492645