首页 / JAVA / MongoDB-Java
MongoDB-Java
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MongoDB-Java,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4128字,纯文字阅读大概需要6分钟。
内容图文
![MongoDB-Java](/upload/InfoBanner/zyjiaocheng/463/9fcf97d6aa2446e79d7d2bc0f9102c82.jpg)
2. 文档的插入
1 MongoDatabase db = mongoClient.getDatabase("mydb"); 2 MongoCollection<Document> col = db.getCollection("foo"); 3 // 单个插入 4 Document doc = new Document("name", "MongoDB").append("type", "database"); 5 col.insertOne(doc); 6 // 可以把JSON 字符串直接解析成Document 7 doc = Document.parse("{‘name‘:‘Java‘, ‘type‘:‘language‘}"); 8 col.insertOne(doc); 9 10 // 插入多个文档 11 List<Document> documents = new ArrayList<Document>(); 12 for(int i=0; i<10; i++){ 13 documents.add(new Document("i", i)); 14 } 15 col.insertMany(documents);
3. 文档的增删改查
// 查询全部 MongoCursor<Document> cursor = col.find().iterator(); try { while (cursor.hasNext()) { System.out.println(cursor.next().toJson()); } } finally { cursor.close(); } // 使用查询条件 // 首先导入 import static com.mongodb.client.model.Filters.*; doc = col.find(eq("i", 5)).first(); // i 等于5 的第一个文档 System.out.println(doc.toJson()); cursor = col.find(and(gt("i", 50), lte("i", 100))).iterator(); try { while (cursor.hasNext()) { System.out.println(cursor.next().toJson()); } } finally { cursor.close(); } // 排序 doc = col.find(exists("i")).sort(descending("i")).first(); System.out.println(doc.toJson()); // 更新一个 col.updateOne(eq("i", 10), set("i", 110)); // 更新多个 UpdateResult updateResult = col.updateMany(lt("i", 100), inc("i", 100)); System.out.println(updateResult.getModifiedCount()); // 删除一个 col.deleteOne(eq("i", 110)); // 删除多个 DeleteResult deleteResult = col.deleteMany(gte("i", 100)); System.out.println(deleteResult.getDeletedCount()); // 批量写入操作 List<WriteModel<Document>> writes = new ArrayList<WriteModel<Document>>(); writes.add(new InsertOneModel<Document>(new Document("_id", 4))); writes.add(new InsertOneModel<Document>(new Document("_id", 5))); writes.add(new InsertOneModel<Document>(new Document("_id", 6))); writes.add(new UpdateOneModel<Document>(new Document("_id", 1), new Document("$set", new Document("x", 2)))); writes.add(new DeleteOneModel<Document>(new Document("_id", 2))); writes.add(new ReplaceOneModel<Document>(new Document("_id", 3), new Document("_id", 3).append("x", 4))); col.bulkWrite(writes); col.drop(); col.bulkWrite(writes, new BulkWriteOptions().ordered(false)); //collection.find().forEach(printBlock); // 删除数据库 db.drop();
6. GridFS文件上传
1 GridFSBucket gridFSBucket = GridFSBuckets.create(db); 2 File file = new File("D:/test.txt"); 3 if(!file.exists()) file.createNewFile(); 4 InputStream upload = new FileInputStream(file); 5 ObjectId fileId = gridFSBucket.uploadFromStream("test.txt", upload); 6 System.out.println("上传成功 fileID:" + fileId); 7 8 // 查看上传的文件列表 9 gridFSBucket.find().forEach(new Block<GridFSFile>() { 10 @Override 11 public void apply(final GridFSFile gridFSFile) { 12 System.out.println(gridFSFile.getFilename()); 13 } 14 }); 15 // 下载一个文件通过FileId 16 FileOutputStream streamToDownloadTo = new FileOutputStream("/tmp/test.txt"); 17 gridFSBucket.downloadToStream(fileId, streamToDownloadTo); 18 streamToDownloadTo.close(); 19 20 // 通过文件名下载一个文件 21 streamToDownloadTo = new FileOutputStream("/tmp/test.txt"); 22 GridFSDownloadByNameOptions downloadOptions = new GridFSDownloadByNameOptions().revision(0); 23 gridFSBucket.downloadToStreamByName("test.txt", streamToDownloadTo, downloadOptions); 24 streamToDownloadTo.close(); 25 26 // 根据FileId重命名和删除文件 27 gridFSBucket.rename(fileId, "test1.txt"); 28 gridFSBucket.delete(fileId);
以上只是简单的操作,参考自官网的demo,下面是jar包下载地址和源码例子的链接,
驱动包下载:https://github.com/mongodb/mongo-java-driver/releases
源码demo:https://github.com/mongodb/mongo-java-driver/tree/master/driver/src/examples
MongoDB-Java
标签:
本文系统来源:http://www.cnblogs.com/cyhe/p/5451421.html
内容总结
以上是互联网集市为您收集整理的MongoDB-Java全部内容,希望文章能够帮你解决MongoDB-Java所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。