zoukankan      html  css  js  c++  java
  • MongoDB -- JAVA基本API操作

      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 <a herf="mailto:yanwu0527@163.com">XuBaofeng</a>
     18  * @date 2019-07-01 14:52.
     19  * <p>
     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<Document> 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<String> 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<Document> 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<Document> documents) {
    233         for (Document document : documents) {
    234             System.out.println(document.toJson());
    235         }
    236     }
    237 }

    更多详情可以查看: http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/

  • 相关阅读:
    网页显示UIWebView(一个)
    借百度数据,建立你自己的程序
    引水数据--紧凑
    Unity3d 实时折射和反射
    snmp监控磁盘
    Linux snmp监控
    20监控工具
    Java 四舍五入
    Oracle主键操作
    SnmpTrap
  • 原文地址:https://www.cnblogs.com/yanwu0527/p/11115198.html
Copyright © 2011-2022 走看看