博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB -- JAVA基本API操作
阅读量:6949 次
发布时间:2019-06-27

本文共 7798 字,大约阅读时间需要 25 分钟。

1 package com.example.mongodb.mongodb.demo;  2   3 import com.mongodb.MongoClient;  4 import com.mongodb.client.FindIterable;  5 import com.mongodb.client.MongoCollection;  6 import com.mongodb.client.MongoDatabase;  7 import com.mongodb.client.MongoIterable;  8 import org.bson.Document;  9  10 import java.util.ArrayList; 11 import java.util.Collections; 12 import java.util.List; 13  14 import static com.mongodb.client.model.Filters.*; 15  16 /** 17  * @author XuBaofeng 18  * @date 2019-07-01 14:52. 19  * 

20 * description: 21 */ 22 public class MongoDbJdbc { 23 /*** 地址 */ 24 private static final String MONGODB_ADDRESS = "127.0.0.1"; 25 /*** 端口 */ 26 private static final Integer MONGODB_PORT = 27017; 27 /*** 数据库 */ 28 private static final String DATABASE_NAME = "yanwu"; 29 /*** 集合 */ 30 private static final String COLLECTION_NAME = "java"; 31 /*** 连接 */ 32 private static MongoClient mongoClient; 33 /*** 数据库 */ 34 private static MongoDatabase database; 35 /*** 集合 */ 36 private static MongoCollection

collection; 37 38 public static void main(String[] args) { 39 // ----- 建立连接 40 newMongoClient(); 41 // ----- 查看所有数据库 42 listDatabases(); 43 // ----- 选择数据库 44 getDatabase(); 45 // ----- 创建集合 46 createCollection(); 47 // ----- 获取集合 48 getCollection(); 49 // ----- 插入文档 50 insert(); 51 // ----- 更新文档 52 update(); 53 // ----- 删除文档 54 delete(); 55 // ----- 检索所有文档 56 findAll(); 57 // ----- 条件查找 (匹配) 58 findByEq(); 59 // ----- 条件查找 [小于] 60 findByLt(); 61 // ----- 条件查找 [小于等于] 62 findByLte(); 63 // ----- 条件查找 [大于] 64 findByGt(); 65 // ----- 条件查找 [大于等于] 66 findByGte(); 67 // ----- 条件查找 [and] 68 findByAnd(); 69 // ----- 条件查找 [or] 70 findByOr(); 71 } 72 73 /** 74 * 建立连接 75 */ 76 private static void newMongoClient() { 77 System.out.println("==================== newMongoClient ===================="); 78 mongoClient = new MongoClient(MONGODB_ADDRESS, MONGODB_PORT); 79 } 80 81 /** 82 * 查看所有数据库 83 */ 84 private static void listDatabases() { 85 System.out.println("==================== listDatabases ===================="); 86 MongoIterable
names = mongoClient.listDatabaseNames(); 87 for (String mane : names) { 88 System.out.println(mane); 89 } 90 } 91 92 /** 93 * 获取数据库 94 */ 95 private static void getDatabase() { 96 System.out.println("==================== getDatabase ===================="); 97 database = mongoClient.getDatabase(DATABASE_NAME); 98 } 99 100 /**101 * 创建集合102 */103 private static void createCollection() {104 System.out.println("==================== createCollection ====================");105 database.createCollection(COLLECTION_NAME);106 }107 108 /**109 * 获取集合110 */111 private static void getCollection() {112 System.out.println("==================== getCollection ====================");113 collection = database.getCollection(COLLECTION_NAME);114 }115 116 /**117 * 插入文档118 */119 private static void insert() {120 System.out.println("==================== insert ====================");121 // ----- 插入一条文档122 Document document = new Document().append("title", "java").append("desc", "JAVA是我的衣食父母").append("by", "yanwu")123 .append("tage", Collections.singletonList("java")).append("likes", 200);124 collection.insertOne(document);125 // ----- 插入多条文档126 List
documents = new ArrayList<>();127 128 Document document1 = new Document().append("title", "php").append("desc", "PHP是世界上最好的语言").append("by", "yanwu")129 .append("tage", Collections.singletonList("php")).append("likes", 100);130 documents.add(document1);131 132 Document document2 = new Document().append("title", "python").append("desc", "python是人工智能的未来").append("by", "yanwu")133 .append("tage", Collections.singletonList("python")).append("likes", 250);134 documents.add(document2);135 136 Document document3 = new Document().append("title", "mongodb").append("desc", "学习学习").append("by", "yanwu")137 .append("tage", Collections.singletonList("mongodb")).append("likes", 150);138 documents.add(document3);139 140 collection.insertMany(documents);141 }142 143 /**144 * 检索所有文档145 */146 private static void findAll() {147 System.out.println("==================== findAll ====================");148 // ----- 拿到该集合中所有的文档149 print(collection.find());150 }151 152 /**153 * 更新文档154 */155 private static void update() {156 System.out.println("==================== update ====================");157 collection.updateMany(eq("title", "java"), new Document("$set", new Document("title", "java语言")));158 }159 160 /**161 * 删除文档162 */163 private static void delete() {164 System.out.println("==================== delete ====================");165 // ----- 删除一个166 collection.deleteOne(eq("title", "java"));167 findAll();168 // ----- 删除多个169 collection.deleteMany(eq("by", "yanwu"));170 findAll();171 }172 173 /**174 * 条件查找 (匹配)175 */176 private static void findByEq() {177 System.out.println("==================== findByEq: likes == 200 ====================");178 print(collection.find(eq("likes", 200)));179 }180 181 /**182 * 条件查找 [小于]183 */184 private static void findByLt() {185 System.out.println("==================== findByLt: likes < 200 ====================");186 print(collection.find(lt("likes", 200)));187 }188 189 /**190 * 条件查找 [小于等于]191 */192 private static void findByLte() {193 System.out.println("==================== findByLte: likes <= 200 ====================");194 print(collection.find(lte("likes", 200)));195 }196 197 /**198 * 条件查找 [大于]199 */200 private static void findByGt() {201 System.out.println("==================== findByGt: likes > 200 ====================");202 print(collection.find(gt("likes", 200)));203 }204 205 /**206 * 条件查找 [大于等于]207 */208 private static void findByGte() {209 System.out.println("==================== findByGte: likes >= 200 ====================");210 print(collection.find(gte("likes", 200)));211 }212 213 /**214 * 条件查找 [and]215 */216 private static void findByAnd() {217 System.out.println("==================== findByGte: likes > 150 && likes < 250 ====================");218 print(collection.find(and(gt("likes", 150), lt("likes", 250))));219 }220 221 /**222 * 条件查找 [or]223 */224 private static void findByOr() {225 System.out.println("==================== findByGte: likes < 150 || likes > 200 ====================");226 print(collection.find(or(lt("likes", 150), gt("likes", 200))));227 }228 229 /**230 * 打印输出文档集合231 */232 private static void print(FindIterable
documents) {233 for (Document document : documents) {234 System.out.println(document.toJson());235 }236 }237 }

更多详情可以查看: 

转载于:https://www.cnblogs.com/yanwu0527/p/11115198.html

你可能感兴趣的文章
python隐含的特性
查看>>
爬虫笔记(十一)——认识cookie
查看>>
python内置模块——time
查看>>
uva 10280(欧拉函数)
查看>>
面试 : C语言 功底 被 鄙视了
查看>>
MySQL优化—工欲善其事,必先利其器(2)
查看>>
java floor round ceil 使用
查看>>
实现 像网易云音乐 播放列表那样的弹出型Dialog
查看>>
play for scala 通过网易smtp发送邮件
查看>>
<转>简单之美——系统设计黄金法则
查看>>
列出对像属性,for(var i in obj)[转]
查看>>
Js(DOM) 和Jq 对象的相互转换
查看>>
HDUOJ3980取模运算
查看>>
20165318 2017-2018-2 《Java程序设计》第九周学习总结
查看>>
mysql 数据库备份的多种方式
查看>>
WebView使用技巧和介绍
查看>>
使矩形区域无效
查看>>
工具的链接
查看>>
js中的数据类型及判断方法
查看>>
Set和Map数据结构
查看>>