irpas技术客

MongoDB与Java基础代码篇_努力分享的张张_java mongodb 代码

大大的周 2192

MongoDB与Java 增删改查聚合基础连接基本练习

增删改查聚合 import static com.mongodb.client.model.Filters.*; import static com.mongodb.client.model.Updates.*; import static com.mongodb.client.model.Aggregates.*; public class Mongoidur { private MongoClient client = null; private MongoDatabase dbase = null; private MongoCollection<Document> col = null; // 构造函数 public Mongoidur(String db, String col1) { client = new MongoClient("localhost", 27017); dbase = client.getDatabase(db); col = dbase.getCollection(col1); } public void showAll() { FindIterable<Document> iterable = col.find(); MongoCursor<Document> cursor = iterable.iterator(); while (cursor.hasNext()) { System.out.println(cursor.next()); } } public void show() { FindIterable<Document> iterable = col.find(lt("age", 25)); MongoCursor<Document> cursor = iterable.iterator(); while (cursor.hasNext()) { System.out.println(cursor.next()); } } public void insert() { ArrayList<Document> list = new ArrayList<Document>(); for (int i = 0; i < 10; i++) { Document doc = new Document("name", "user" + i); doc.append("age", 20 + i); doc.append("scores", Arrays.asList(50, 60, 70)); doc.append("address", new Document("provice", "hebei").append("city", "shijiazhuang")); list.add(doc); } col.insertMany(list); } public void update() { // col.updateOne(eq("name","user2"), new Document("$set",new // Document("age",30))); UpdateResult result = col.updateOne(eq("name", "user2"), combine(set("age", 35))); System.out.println(result.toString()); } public void delete() { DeleteResult result = col.deleteMany(gt("age", 27)); System.out.println(result.toString()); } public void aggregate() { AggregateIterable<Document> iterable = col.aggregate( Arrays.asList(match(gt("age", 22)), group("$address", Accumulators.sum("totalAge", "$age")))); MongoCursor<Document> cursor = iterable.iterator(); while (cursor.hasNext()) { System.out.println(cursor.next()); } } public static void main(String[] args) { Mongoidur mmm = new Mongoidur("test1", "col"); // mmm.insert(); // mmm.update(); // mmm.delete(); // mmm.showAll(); // mmm.show(); mmm.aggregate(); } } 基础连接 import static com.mongodb.client.model.Filters.*; public class Demo { public static void main(String[] args) { // 连接服务器,创建MongoDB客户端对象 MongoClient client = new MongoClient("localhost", 27017); // 选择数据库 MongoDatabase database = client.getDatabase("test"); // 获取集合 MongoCollection<Document> col = database.getCollection("chinaPop"); // 迭代输出集合中的文档 // FindIterable<Document> iterable = col.find(); // FindIterable<Document> iterable = col.find(new // Document("city","shijiazhuang"). // append("provice","hebei")); // FindIterable<Document> iterable = // col.find(Filters.eq("city","shijiazhuang")); // FindIterable<Document> iterable = col.find(eq("city","shijiazhuang")); // FindIterable<Document> iterable = col.find(regex("city","^s")); // FindIterable<Document> iterable = col.find().sort(Sorts.ascending("pop")); FindIterable<Document> iterable = col.find().sort(Sorts.ascending("pop")); MongoCursor<Document> cursor = iterable.iterator(); while (cursor.hasNext()) { System.out.println(cursor.next()); } } } 基本练习

1、连接数据库的操作实现通过参数传递数据库名及集合名 2、练习增删改查 聚合等操作 向集合插入如下文档 { title: ‘MongoDB’,by: ‘Turing’,likes: 400,url:“·”} { title: ‘MySQL’,by: ‘MySQL AB’,likes: 500} { title: ‘Oracle’,by: ‘Turing’,likes: 600}

查询字段值likes大于400的文档,然后将字段by的值修改为Tom。更新操作如果没有查询到文档,就做插入操作,如果查到文档只更新第一个文档删除所有文档中的字段url查询title为Oracle 并且likes大于400的文档查询title字段包含my的字符,并且不区分大小写的文档向title是MongoDB的文档中添加数组字段arrays,元素为: 11、22、33向数组字段arrays中添加元素 44、55统计likes大于400文档的likes的和 import static com.mongodb.client.model.Filters.*; import static com.mongodb.client.model.Updates.*; import java.util.Arrays; public class Exercise { private MongoClient client = null; private MongoDatabase dbase = null; private MongoCollection<Document> col = null; // 构造函数 public Exercise(String db, String col1) { client = new MongoClient("localhost", 27017); dbase = client.getDatabase(db); col = dbase.getCollection(col1); } public void insert() { col.drop(); Document doc = new Document("title", "MongoDB"); doc.append("by", "Turing"); doc.append("likes", 400); doc.append("url", "·"); Document doc2 = new Document("title", "MySQL"); doc2.append("by", "MySQL AB"); doc2.append("likes", 500); Document doc3 = new Document("title", "Oracle"); doc3.append("by", "Turing"); doc3.append("likes", 600); col.insertOne(doc); col.insertOne(doc2); col.insertOne(doc3); } public void update1() { UpdateResult result = col.updateOne(gt("likes", 400), combine(set("by", "Tom")), new UpdateOptions().upsert(true)); System.out.println(result.toString()); } public void update2() { UpdateResult result = col.updateMany(new Document(), combine(unset("url"))); System.out.println(result.toString()); } public void update3() { UpdateResult result = col.updateMany(eq("title", "MongoDB"), combine(set("arrays", Arrays.asList(11,22,33)))); System.out.println(result.toString()); } public void update4() { UpdateResult result = col.updateMany(new Document(), combine(pushEach("arrays", Arrays.asList(44,55)))); System.out.println(result.toString()); } public void show(Bson filter) { FindIterable<Document> iterable = col.find(filter); MongoCursor<Document> cursor = iterable.iterator(); while (cursor.hasNext()) { System.out.println(cursor.next()); } } public void showAll() { FindIterable<Document> iterable = col.find(); MongoCursor<Document> cursor = iterable.iterator(); while (cursor.hasNext()) { System.out.println(cursor.next()); } } public static void main(String[] args) { Exercise exercise = new Exercise("test", "exercise"); exercise.insert(); // Bson filter1 =new Document("title", "Oracle"). // append("likes", new Document("$gt", 400)); // exercise.show(filter1); // // Bson filter2 =Filters.regex("title", "my", "i"); // // exercise.show(filter2); exercise.update1(); exercise.update2(); exercise.update3(); exercise.update4(); exercise.showAll(); } }


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #JAVA #mongodb #代码 #static