mongodb學習總結(二)


public class App {
  /**
  * 無密碼連接mongodb服務
  */
  public void connectToMongoNoPasswd() throws Exception{
    //連接到 mongodb 服務
    MongoClient mongoClient = new MongoClient( "192.168.1.5" , 27017 );
    //連接到數據庫
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
  }

  /**
  * 設置密碼連接mongodb服務
  */
  public void connectToMongoByPasswd() throws Exception{
    //ServerAddress()兩個參數分別為 服務器地址 和 端口
    ServerAddress serverAddress = new ServerAddress("192.168.1.5",27017);
    List<ServerAddress> addrs = new ArrayList<ServerAddress>();
    addrs.add(serverAddress);
    //MongoCredential.createScramSha1Credential()三個參數分別為 用戶名 數據庫名稱 密碼     
    MongoCredential credential = MongoCredential.createScramSha1Credential("username",
                   "databaseName", "password".toCharArray());
    List<MongoCredential> credentials = new ArrayList<MongoCredential>();
    credentials.add(credential);
    //通過連接認證獲取MongoDB連接
    MongoClient mongoClient = new MongoClient(addrs,credentials);
    //連接到數據庫
    MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");
    System.out.println("Connect to database successfully");
  }

  /**
  * 創建集合
  */
  public void createCol() throws Exception{
    // 連接到 mongodb 服務
    MongoClient mongoClient = new MongoClient( "192.168.1.5" , 27017 );
    // 連接到數據庫
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    mongoDatabase.createCollection("test");
    System.out.println("集合創建成功");
  }

  /**
  * 獲取集合
  */
  public void getCol() throws Exception{
    //連接到 mongodb服務
    MongoClient mongoClient = new MongoClient( "192.168.1.5" , 27017 );
    //連接到數據庫
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 選擇成功");
  }

  

  /**
  * 插入文檔
  */
  public void addDoc() throws Exception{
    // 連接到 mongodb 服務
    MongoClient mongoClient = new MongoClient("192.168.1.5", 27017 );
    // 連接到數據庫
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 選擇成功");
    //插入文檔
    /**
    * 1. 創建文檔 org.bson.Document 參數為key-value的格式
    * 2. 創建文檔集合List<Document>
    * 3. 將文檔集合插入數據庫集合中 mongoCollection.insertMany(List<Document>)
    * 插入單個文檔可以用 mongoCollection.insertOne(Document)
    **/
    Document document = new Document("title", "mongo")
        .append("description", "database")
        .append("likes", 100)
        .append("by", "Fly");
    List<Document> documents = new ArrayList<Document>();
    documents.add(document);
    collection.insertMany(documents);
    System.out.println("文檔插入成功");
  }

  /**
  * 檢索所有文檔
  */
  public void findDoc() throws Exception{
    //連接到 mongodb服務
    MongoClient mongoClient = new MongoClient( "192.168.1.5" , 27017 );
    // 連接到數據庫
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 選擇成功");
    //檢索所有文檔
    /**
    *1. 獲取迭代器FindIterable<Document>
    *2. 獲取游標MongoCursor<Document>
    *3. 通過游標遍歷檢索出的文檔集合
    **/
    FindIterable<Document> findIterable = collection.find();
    MongoCursor<Document> mongoCursor = findIterable.iterator();
    while(mongoCursor.hasNext()){
      System.out.println(mongoCursor.next());
    }
  }

  /**
  * 更新文檔
  */
  public void updateDoc() throws Exception{
    //連接到 mongodb服務
    MongoClient mongoClient = new MongoClient("192.168.1.5", 27017);
    //連接到數據庫
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 選擇成功");
    //更新文檔 將文檔中likes=100的文檔修改為likes=200
    collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));
    //檢索查看結果
    FindIterable<Document> findIterable = collection.find();
    MongoCursor<Document> mongoCursor = findIterable.iterator();
    while(mongoCursor.hasNext()){
      System.out.println(mongoCursor.next());
    }
  }

  /**
  * 刪除文檔
  */
  public void delDoc() throws Exception{
    //連接到 mongodb 服務
    MongoClient mongoClient = new MongoClient("192.168.1.5", 27017);
    //連接到數據庫
    MongoDatabase mongoDatabase = mongoClient.getDatabase("col");
    System.out.println("Connect to database successfully");
    MongoCollection<Document> collection = mongoDatabase.getCollection("test");
    System.out.println("集合 test 選擇成功");
    //刪除符合條件的第一個文檔
    collection.deleteOne(Filters.eq("likes", 200));
    //刪除所有符合條件的文檔
    collection.deleteMany(Filters.eq("likes", 200));
    //檢索查看結果
    FindIterable<Document> findIterable = collection.find();
    MongoCursor<Document> mongoCursor = findIterable.iterator();
    while(mongoCursor.hasNext()){
      System.out.println(mongoCursor.next());
    }
  }

  public static void main( String[] args ) {
    try {
      App app = new App();
      app.delDoc();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

 

參考:http://www.runoob.com/mongodb/mongodb-tutorial.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM