Java链接MongoDB的方法。

一.Java链接MongoDB

1.导入MongoDB驱动包。

2.获取链接对象 MongoClient mc = new MongoClient("localhost", 27017);

3.关闭链接

mongoClient.close();

二.增删改查

1.查看链接的MongoDB中的所有的库

List<String> databaseNames = mc.getDatabaseNames(); for(String s : databaseNames) { System.out.println(s); }

2.使用库查看库中的集合

3.插入数据

3.1插入一条数据

// 获取库对象 MongoDatabase db = mc.getDatabase("myschool"); // 获取表对象 MongoCollection<Document> table = db.getCollection("student"); // 创建一个document对象 Document doc = new Document(); doc.put("sid", s.getSid()); doc.put("sname", s.getSname()); doc.put("birthday", s.getBirthday()); doc.put("ssex", s.getSsex()); doc.put("classid", s.getClassid()); // 插入一条数据 table.insertOne(doc);

3.2插入多条数据

// 获取库对象 MongoDatabase db = mc.getDatabase("myschool"); // 获取表对象 MongoCollection<Document> table = db.getCollection("student"); // 创建一个document对象

Document doc = new Document(); doc.put("sid", s.getSid()); doc.put("sname", s.getSname()); doc.put("birthday", s.getBirthday()); doc.put("ssex", s.getSsex()); doc.put("classid", s.getClassid()); Document doc2 = new Document(); doc2.put("sid", 2); doc2.put("sname", "李四"); doc2.put("birthday", new Date()); doc2.put("ssex", "女"); doc2.put("classid", 200); Document doc3 = new Document(); doc3.put("sid", 3); doc3.put("sname", "王五"); doc3.put("birthday", new Date()); doc3.put("ssex", "男"); doc3.put("classid", 300); List<Document> dlist = new ArrayList<Document>(); dlist.add(doc); dlist.add(doc2); dlist.add(doc3);

// 插入多条数据 table.insertMany(dlist);

4.删除数据

// Mongo操作 // 获取Mongo的链接对象 MongoClient mc = new MongoClient("localhost", 27017); // 获取库对象 MongoDatabase db = mc.getDatabase("myschool"); // 获取表对象 MongoCollection<Document> table = db.getCollection("student"); Bson eq = Filters.eq("sname", "张飞");

// 删除一条数据 // DeleteResult deleteOne = table.deleteOne(eq);

// 删除多条数据 DeleteResult deleteMany = table.deleteMany(eq); System.out.println(deleteMany.getDeletedCount());

if(deleteMany.getDeletedCount() > 0) { System.out.println("删除成功"); }else { System.out.println("删除失败"); } mc.close();

5.修改数据

Filters 该过滤器类为所有的MongoDB的查询操作静态工厂方法。每个方法返回BSON类型,又可以传递给期望一个查询过滤器的任何方法的一个实例。

eq:匹配等于指定值的值。

gt:匹配大于指定值的值。

gte:匹配大于或等于指定值的值。

lt:匹配小于规定值的值。

lte:匹配是小于或等于规定值的值。

ne:匹配不等于指定值的所有值。

in:匹配任何在数组中指定的值。

nin:没有匹配数组中的规定值。

// Mongo操作 // 获取Mongo的链接对象 MongoClient mc = new MongoClient("localhost", 27017); // 获取库对象 MongoDatabase db = mc.getDatabase("myschool"); // 获取表对象 MongoCollection<Document> table = db.getCollection("student"); // 条件对象 where ssex = 男 and (classid = 1 or classid = 2) Bson eq = Filters.and( Filters.eq("ssex", "男"), Filters.or( Filters.eq("classid", 1), Filters.eq("classid", 2) ) );

// 要修改的数据 Document doc = new Document(); doc.put("$set", new Document("sname","张飞"));

// UpdateResult updateOne = table.updateOne(eq, doc); UpdateResult updateMany = table.updateMany(eq, doc); System.out.println(updateMany); mc.close();

6.查询数据

6.1全查

6.2带条件查询

6.3带多个条件查询

6.4模糊查询、

6.5分页查询

6.6排序查询

经验分享 程序员 微信小程序 职场和发展