java操作MongoDB

本文介绍了如何使用Java语言连接和操作MongoDB数据库,通过示例展示了关闭连接的代码片段。
摘要由CSDN通过智能技术生成
Mongo-Java-3.X的jar包

1、连接数据库:(用户名/密码:hello/happy;mldn是数据库名)
MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
System.out.println(db.getCollection("dept").count());//计数集合名为dept个数
client.close();//关闭数据库连接


2、数据的插入
import org.bson.Document;
MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001/mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
MongoCollection col = db.getCollection("stu");
List<Document> list = new ArrayList<Document>();
for(int x = 0; x < 100; i++)
{
Document doc = new Document();
doc.append("id", x);
doc.append("name", tom);
doc.append("sex", "男");
list.add(doc);
}
col.insertMany(list);//插入数据库
client.close();


3、数据的全部查询
import org.bson.Document;
MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001/mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
MongoCollection col = db.getCollection("stu");
MongoCursor<Document> cursor = col.find().iterator();
while(cursor.hasNext)
{
System.out.println(cursor.next());
}
client.close();


4、范围查询
import org.bson.Document;
MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001/mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
MongoCollection col = db.getCollection("stu");
BasicDBObject cond = new BasicDBObject();
//设置查询的条件
cond.put("id", new BasicDBObject("$gt", 5).append("$lt",10));
MongoCursor<Document> cursor = col.find(cond).iterator();
while(cursor.hasNext)
{
System.out.println(cursor.next());
}
client.close();


5、模糊查询
MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001/mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
MongoCollection col = db.getCollection("stu");
Pattern pattern = Pattern.compile("10");//模糊的
BasicDBObject cond = new BasicDBObject();
//设置查询的条件
cond.put("id", new BasicDBObject("$regex", pattern).append("$options", "i"));//不区分大小写的模糊查询
MongoCursor<Document> cursor = col.find(cond).iterator();
while(cursor.hasNext)
{
System.out.println(cursor.next());
}
client.close();


6、分页显示
MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001/mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
MongoCollection col = db.getCollection("stu");
Pattern pattern = Pattern.compile("10");//模糊的
BasicDBObject cond = new BasicDBObject();
//设置查询的条件
cond.put("id", new BasicDBObject("$regex", pattern).append("$options", "i"));//不区分大小写的模糊查询
MongoCursor<Document> cursor = col.find(cond).skip(5).limit(10).iterator(); //分页显示
while(cursor.hasNext)
{
System.out.println(cursor.next());
}
client.close();


7、修改数据
MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001/mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
MongoCollection col = db.getCollection("stu");
BasicDBObject condA = new BasicDBObject("id",0);//数据查询条件
BasicDBObject condB = new BasicDBObject("$set",new BasicDBObject("name","superMan"));
UpdateResult result = col.updateMany(condA,condB);//修改数据
System.out.println(result);
client.close();


8、删除数据

MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001/mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
MongoCollection col = db.getCollection("stu");
BasicDBObject cond = new BasicDBObject("id",0);//数据查询条件
DeleteResult result = col.deleteOne(cond);//删除数据
System.out.println(result.getDeletedCount());
client.close();


9、统计查询
MongoClientURI uri = new MongoClientURI("mongodb://hello:happy@localhost:27001/mldn");
MongoClient client = new MongoClient(uri);//设置连连的参数
MongoDatabase db = client.getDatabase("mldn");//连接数据库
MongoCollection col = db.getCollection("emps");//操作emps集合(表)
BasicDBObject cond = new BasicDBObject("$group",new BasicDBObject("_id","$sex").append("count", new BasicDBObject("sum",1)).append("avg", new BasicDBObject("$avg","$salary")));

List<BasicDBObject> all = new ArrayList<BasicDBObject>();
all.add(cond);//保存条件
MongoCursor<Document> cursor = col.aggregate(all).iterator();
while(cursor.hasNext)
{
Document doc = cursor.next();
System.out.println(doc.getString("_id")+","+doc.getInteger("count"));
}

client.close();






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值