国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MongoDB 入門

Tecode / 1981人閱讀

摘要:入門相對于的優勢模式少是一個文檔數據庫,其中一個集合包含不同的文檔。一個文檔之間的字段數,內容和文檔大小可能會有所不同。深入的查詢能力。優化易于擴展不需要將應用程序對象轉換映射到數據庫對象。

MongoDB 入門

MongoDB相對于RDBMS的優勢

  1. 模式少 -MongoDB是一個文檔數據庫,其中一個集合包含不同的文檔。一個文檔之間的字段數,內容和文檔大小可能會有所不同。
  2. 單個對象的結構清晰。
  3. 沒有復雜的聯接。
  4. 深入的查詢能力。MongoDB支持使用與SQL幾乎一樣強大的基于文檔的查詢語言對文檔進行動態查詢。
  5. sql Tuning(優化)
  6. 易于擴展
  7. 不需要將應用程序對象轉換/映射到數據庫對象。
  8. 使用內部存儲器存儲(窗口式)工作集,從而可以更快地訪問數據

為什么要使用MongoDB

  • 面向文檔的存儲,BSON格式存儲,即Binary JSON
  • 單鍵索引、復合索引、多鍵索引、地理空間索引、全文本索引和哈希索引
  • MongoDB實現高可用 主從復制
  • 自動分片 auto sharding
  • 豐富的查詢
  • 快速原地更新(fast in-place updates):大部分更新操作無需申請新空間
  • MongoDB的專業支持map/reduce支持
  • Gridfs:各種size大小的集群文件支持

快速啟動 MongoDB

新建 docker-compose.yml 文件。

version: 0.2.3
    services:
      mongodb:
        image: mongo:4.2.6 
        container_name: mongo_db
        environment:
          - MONGO_INITDB_DATABASE=mongo # 數據庫名稱
          - MONGO_INITDB_ROOT_USERNAME=user # 管理員名稱
          - MONGO_INITDB_ROOT_PASSWORD=passwd # 管理員密碼
        volumes:
          - ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
          - ./mongo/mongo-volume:/data/db
        ports:
          - "27017-27019:27017-27019"
        restart: always

新建 init-mongo.js 文件。

db.getSiblingDB(admin)
    .createUser({
        user: user,
        pwd: passwd,
        roles: [readWrite]
});

然后執行命令

Copydocker-compose up -d

使用操作

插入數據

// 插入集合名稱為products的集合并插入數據 (不存在集合會新建)
db.products.insertOne({
    item: "card",
    qty: 15
});

// 批量插入數據
db.products.insertMany([{
    item: "card1",
    qty: 16
}, {
    item: "card2",
    qty: 17
}, {
    item: "envelope",
    qty: 20
}, {
    item: "stamps",
    qty: 30
}]);

查詢數據

db.products.find({ qty: 15 }).limit(1)

修改數據

db.products.find({
    item: "stamps"
}).limit(1);

// 找到item為stamps的并修改其qty為60
db.products.updateOne(
    {
        "item": "stamps"
    },
    {
        $set: {
            "qty": 60
        }
    }
);

db.products.find({
    item: "stamps"
}).limit(1);
// 把qty大于15的統統修改為15
db.products.updateMany(
    {
        qty: {
            $gt: 15
        }
    },
    {
        $set: {
            "qty": 15
        }
    }
);
// 把集合products中item為stamps 整個替換掉 
 db.products.replaceOne(
    { "item" : "stamps" },
    { "item" : "stampss", "Borough" : "Manhattan" }
 );

刪除數據

 // 刪除item為stampss的
 db.products.deleteOne( { "item" : "stampss" } );
 // 批量刪除qty小于15的
 db.products.deleteMany( { "qty" : {$lt: 15} } );

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/125935.html

相關文章

  • MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

    摘要:通過前面四篇的學習,我們已經在本地安裝了一個數據庫,并且通過一個簡單的應用的單元測試,插入了幾條記錄到中,并通過查看到了插入的數據。讀操作最終將會使用我們在最簡單的入門教程之三使用代碼往里插入數據里介紹的方法,即通過注入的實例完成對的操作。 通過前面四篇的學習,我們已經在本地安裝了一個MongoDB數據庫,并且通過一個簡單的Spring boot應用的單元測試,插入了幾條記錄到Mong...

    xeblog 評論0 收藏0
  • MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

    摘要:通過前面四篇的學習,我們已經在本地安裝了一個數據庫,并且通過一個簡單的應用的單元測試,插入了幾條記錄到中,并通過查看到了插入的數據。讀操作最終將會使用我們在最簡單的入門教程之三使用代碼往里插入數據里介紹的方法,即通過注入的實例完成對的操作。 通過前面四篇的學習,我們已經在本地安裝了一個MongoDB數據庫,并且通過一個簡單的Spring boot應用的單元測試,插入了幾條記錄到Mong...

    xiaolinbang 評論0 收藏0
  • MongoDB最簡單的入門教程之三 使用Java代碼往MongoDB里插入數據

    摘要:前兩篇教程我們介紹了如何搭建的本地環境最簡單的入門教程之一環境搭建以及如何用讀取里的記錄最簡單的入門教程之二使用訪問這篇教程我們會介紹如何使用代碼來連接。代碼如下和教程二相比,上述代碼的方法里還展示了如何用代碼給數據庫里增加記錄。 前兩篇教程我們介紹了如何搭建MongoDB的本地環境: MongoDB最簡單的入門教程之一 環境搭建 以及如何用nodejs讀取MongoDB里的記錄: M...

    Kylin_Mountain 評論0 收藏0
  • MongoDB最簡單的入門教程之三 使用Java代碼往MongoDB里插入數據

    摘要:前兩篇教程我們介紹了如何搭建的本地環境最簡單的入門教程之一環境搭建以及如何用讀取里的記錄最簡單的入門教程之二使用訪問這篇教程我們會介紹如何使用代碼來連接。代碼如下和教程二相比,上述代碼的方法里還展示了如何用代碼給數據庫里增加記錄。 前兩篇教程我們介紹了如何搭建MongoDB的本地環境: MongoDB最簡單的入門教程之一 環境搭建 以及如何用nodejs讀取MongoDB里的記錄: M...

    Hegel_Gu 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<