簡單學習Java+MongoDB的方法

    時間:2020-12-23 12:42:50 簡單學習 我要投稿

    關(guān)于簡單學習Java+MongoDB的方法

      MongoDB一些概念

    關(guān)于簡單學習Java+MongoDB的方法

      下面以MongoDB和MySql的對比來說明

      MySQLMongoDB

      database(數(shù)據(jù)庫)db(數(shù)據(jù)庫)

      table(表)collection(集合)

      row(行記錄)document(文檔)

      column(列)field(字段)

      primary key(指定主鍵)"_id" : ObjectId("******") 自動生成內(nèi)置主鍵

      Mysql的'數(shù)據(jù)形式如下

      同樣的數(shù)據(jù)在MongoDB下類似于JSON鍵值對,叫BSON,如下

      MongoDB的CRUD

      windows下安裝成功后,使用mongod命令啟動服務(wù),使用mongo命令默認連接到test庫

      1,創(chuàng)建集合

      創(chuàng)建user集合:db.createCollection("user") //不需要定義字段

      2,插入

      插入name=wangxu,age=27的記錄:db.user.({"name":"wangxu","age":27})

      3,查詢

      查詢?nèi)浚篸b.user.find()

      查詢name=wangxu的記錄:db.user.find({"name":"wangxu"})

      4,更新

      將name=wangxu的記錄age更新成30:db.user.update({name:"wangxu"},{"$set":{"age":30}})

      5,刪除

      刪除name=wangxu的記錄:db.user.remove({"name":"wangxu"})

      刪除全部:db.user.remove()

      6,刪除集合

      刪除user集合: db.user.drop()

      Java調(diào)用MongoDB

      引入MongoDB的Java驅(qū)動包后,測試代碼如下:

      package com.wx.test;import java.util.ArrayList;import org.bson.Document;import com.mongodb.MongoClient;FindIterableclient.MongoCollection.MongoCursor.MongoDatabase;import com.mongodb.client.model.Filters;/** * 測試mongodb 測試點:增加,查詢,更新,刪除 * * @author wangxu * @date 2016-3-27 */public class TestMongoDB { public static void main(String[] args) { // 建立連接,MongoDB默認是沒有用戶名及密碼 MongoClient mongoClient = new MongoClient("localhost", 27017); // 獲取test庫 MongoDatabase db = mongoClient.getDatabase("test"); // 創(chuàng)建集合 db.createCollection("user"); // 獲取集合 MongoCollection collection = db.getCollection("user"); // 插入文檔(支持多條) Document document = new Document("name", "wangxu").append("age", "27"); Document document2 = new Document("name", "wangxu_java").append("age", "27"); Listdocuments = new ArrayList<>(); documents.add(document); documents.add(document2); collection.Many(documents); // 更新wangxu的age為30 collection.updateMany(Filters.eq("name", "wangxu"), new Document( "$set", new Document("age", 30))); // 查詢文檔 FindIterablefindIterable = collection.find(); MongoCursormongoCursor = findIterable.iterator(); // 遍歷游標 while (mongoCursor.hasNext()) { Document doc = mongoCursor.next(); System.out.println("name=" + doc.get("name")); } // 刪除wangxu_java collection.Many(Filters.eq("name", "wangxu_java")); }}

      關(guān)于Java驅(qū)動包的一個疑問

      MongoClient mongoClient = new MongoClient("域不存在", 27017); //建立連接

      當我保存上面的代碼時,發(fā)現(xiàn)不需要處理異常,開始我以為異常被設(shè)計成了“非檢查異常”,運行時會拋出來,最后測試發(fā)現(xiàn)根本不會拋任何異常,后續(xù)的CRUD操作時會拋異常,但幾乎都是非檢查異常,個人感覺這種設(shè)計是不是有點不符合Java的異常分類機制?

    【關(guān)于簡單學習Java+MongoDB的方法】相關(guān)文章:

    關(guān)于學習韓語的方法09-11

    關(guān)于簡單有效的健身方法10-02

    高中歷史簡單學習方法12-24

    解析高中政治簡單的學習方法12-25

    最簡單的嵌入式學習方法10-04

    關(guān)于幫助孩子學習的方法01-07

    關(guān)于韓語的學習方法11-03

    關(guān)于韓語學習方法09-11

    學習的方法01-03

    高中歷史簡單學習方法(7篇)12-24

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲2021AV天堂国内精品久久久 | 亚洲影视一区在线观看 | 亚洲AV日韩AV欧v在线天堂 | 亚洲欧美日韩日产在线首页 | 亚洲三级精品视频 | 日韩1区2区3区在线观看 |