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

資訊專欄INFORMATION COLUMN

MongoDB 入門(mén)

Tecode / 1982人閱讀

摘要:入門(mén)相對(duì)于的優(yōu)勢(shì)模式少是一個(gè)文檔數(shù)據(jù)庫(kù),其中一個(gè)集合包含不同的文檔。一個(gè)文檔之間的字段數(shù),內(nèi)容和文檔大小可能會(huì)有所不同。深入的查詢能力。優(yōu)化易于擴(kuò)展不需要將應(yīng)用程序?qū)ο筠D(zhuǎn)換映射到數(shù)據(jù)庫(kù)對(duì)象。

MongoDB 入門(mén)

MongoDB相對(duì)于RDBMS的優(yōu)勢(shì)

  1. 模式少 -MongoDB是一個(gè)文檔數(shù)據(jù)庫(kù),其中一個(gè)集合包含不同的文檔。一個(gè)文檔之間的字段數(shù),內(nèi)容和文檔大小可能會(huì)有所不同。
  2. 單個(gè)對(duì)象的結(jié)構(gòu)清晰。
  3. 沒(méi)有復(fù)雜的聯(lián)接。
  4. 深入的查詢能力。MongoDB支持使用與SQL幾乎一樣強(qiáng)大的基于文檔的查詢語(yǔ)言對(duì)文檔進(jìn)行動(dòng)態(tài)查詢。
  5. sql Tuning(優(yōu)化)
  6. 易于擴(kuò)展
  7. 不需要將應(yīng)用程序?qū)ο筠D(zhuǎn)換/映射到數(shù)據(jù)庫(kù)對(duì)象。
  8. 使用內(nèi)部存儲(chǔ)器存儲(chǔ)(窗口式)工作集,從而可以更快地訪問(wèn)數(shù)據(jù)

為什么要使用MongoDB

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

快速啟動(dòng) MongoDB

新建 docker-compose.yml 文件。

version: 0.2.3
    services:
      mongodb:
        image: mongo:4.2.6 
        container_name: mongo_db
        environment:
          - MONGO_INITDB_DATABASE=mongo # 數(shù)據(jù)庫(kù)名稱
          - 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]
});

然后執(zhí)行命令

Copydocker-compose up -d

使用操作

插入數(shù)據(jù)

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

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

查詢數(shù)據(jù)

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

修改數(shù)據(jù)

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的統(tǒng)統(tǒng)修改為15
db.products.updateMany(
    {
        qty: {
            $gt: 15
        }
    },
    {
        $set: {
            "qty": 15
        }
    }
);
// 把集合products中item為stamps 整個(gè)替換掉 
 db.products.replaceOne(
    { "item" : "stamps" },
    { "item" : "stampss", "Borough" : "Manhattan" }
 );

刪除數(shù)據(jù)

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/125935.html

相關(guān)文章

  • MongoDB最簡(jiǎn)單的入門(mén)教程之五-通過(guò)Restful API訪問(wèn)MongoDB

    摘要:通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的應(yīng)用的單元測(cè)試,插入了幾條記錄到中,并通過(guò)查看到了插入的數(shù)據(jù)。讀操作最終將會(huì)使用我們?cè)谧詈?jiǎn)單的入門(mén)教程之三使用代碼往里插入數(shù)據(jù)里介紹的方法,即通過(guò)注入的實(shí)例完成對(duì)的操作。 通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)MongoDB數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的Spring boot應(yīng)用的單元測(cè)試,插入了幾條記錄到Mong...

    xeblog 評(píng)論0 收藏0
  • MongoDB最簡(jiǎn)單的入門(mén)教程之五-通過(guò)Restful API訪問(wèn)MongoDB

    摘要:通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的應(yīng)用的單元測(cè)試,插入了幾條記錄到中,并通過(guò)查看到了插入的數(shù)據(jù)。讀操作最終將會(huì)使用我們?cè)谧詈?jiǎn)單的入門(mén)教程之三使用代碼往里插入數(shù)據(jù)里介紹的方法,即通過(guò)注入的實(shí)例完成對(duì)的操作。 通過(guò)前面四篇的學(xué)習(xí),我們已經(jīng)在本地安裝了一個(gè)MongoDB數(shù)據(jù)庫(kù),并且通過(guò)一個(gè)簡(jiǎn)單的Spring boot應(yīng)用的單元測(cè)試,插入了幾條記錄到Mong...

    xiaolinbang 評(píng)論0 收藏0
  • MongoDB最簡(jiǎn)單的入門(mén)教程之三 使用Java代碼往MongoDB里插入數(shù)據(jù)

    摘要:前兩篇教程我們介紹了如何搭建的本地環(huán)境最簡(jiǎn)單的入門(mén)教程之一環(huán)境搭建以及如何用讀取里的記錄最簡(jiǎn)單的入門(mén)教程之二使用訪問(wèn)這篇教程我們會(huì)介紹如何使用代碼來(lái)連接。代碼如下和教程二相比,上述代碼的方法里還展示了如何用代碼給數(shù)據(jù)庫(kù)里增加記錄。 前兩篇教程我們介紹了如何搭建MongoDB的本地環(huán)境: MongoDB最簡(jiǎn)單的入門(mén)教程之一 環(huán)境搭建 以及如何用nodejs讀取MongoDB里的記錄: M...

    Kylin_Mountain 評(píng)論0 收藏0
  • MongoDB最簡(jiǎn)單的入門(mén)教程之三 使用Java代碼往MongoDB里插入數(shù)據(jù)

    摘要:前兩篇教程我們介紹了如何搭建的本地環(huán)境最簡(jiǎn)單的入門(mén)教程之一環(huán)境搭建以及如何用讀取里的記錄最簡(jiǎn)單的入門(mén)教程之二使用訪問(wèn)這篇教程我們會(huì)介紹如何使用代碼來(lái)連接。代碼如下和教程二相比,上述代碼的方法里還展示了如何用代碼給數(shù)據(jù)庫(kù)里增加記錄。 前兩篇教程我們介紹了如何搭建MongoDB的本地環(huán)境: MongoDB最簡(jiǎn)單的入門(mén)教程之一 環(huán)境搭建 以及如何用nodejs讀取MongoDB里的記錄: M...

    Hegel_Gu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<