分布式文件存儲(chǔ)數(shù)據(jù)庫(kù) MongoDB

MongoDB 簡(jiǎn)介

Mongo 并非芒果(Mango)的意思勾习,而是源于 Humongous(巨大的;龐大的)一詞懈玻。

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的 NoSQL 數(shù)據(jù)庫(kù)巧婶。由 C++ 語(yǔ)言編寫。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案涂乌。關(guān)于什么是 NoSQL 可閱讀《學(xué)了那么多 NoSQL 數(shù)據(jù)庫(kù) NoSQL 究竟是啥

MongoDB 是一個(gè)介于關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)之間的產(chǎn)品艺栈,是非關(guān)系型數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的湾盒。

MongoDB 使用 BSON(Binary JSON)對(duì)象來(lái)存儲(chǔ)湿右,與 JSON 格式的鍵值對(duì)(key/value)類似,字段值可以包含其他文檔罚勾,數(shù)組及文檔數(shù)組诅需。支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言荧库,幾乎可以實(shí)現(xiàn)類似關(guān)系型數(shù)據(jù)庫(kù)單表查詢的絕大部分功能堰塌,而且還支持對(duì)數(shù)據(jù)建立索引。

MongoDB 歷史

2007 年分衫,Dwight Merriman场刑,Eliot Horowitz 和 Kevin Ryan 成立 10gen 軟件公司,在成立之初,這家的公司目標(biāo)是進(jìn)軍云計(jì)算行業(yè)牵现,為企業(yè)提供云計(jì)算服務(wù)铐懊。在開發(fā)云計(jì)算產(chǎn)品時(shí),他們準(zhǔn)備開發(fā)一個(gè)類似于數(shù)據(jù)庫(kù)的組件瞎疼,為云計(jì)算產(chǎn)品提供存儲(chǔ)服務(wù)科乎。當(dāng)時(shí)是關(guān)系型數(shù)據(jù)庫(kù)一統(tǒng)天下的時(shí)間,他們覺得傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)無(wú)法滿足他們的要求贼急,他們想要一款程序員不懂SQL語(yǔ)言也可以使用的數(shù)據(jù)存儲(chǔ)產(chǎn)品茅茂。

在網(wǎng)絡(luò)上找了一圈,不管是開源的還是閉源的產(chǎn)品太抓,都沒找到讓他們滿意的東西空闲,既然找不到,那就自己開發(fā)吧走敌,反正他們也有那個(gè)技術(shù)實(shí)力碴倾,10gen 的創(chuàng)始人都來(lái)自谷歌,他們創(chuàng)建的網(wǎng)絡(luò)廣告公司 DoubleClick 被谷歌收購(gòu)了掉丽,這是他們的第二次創(chuàng)業(yè)跌榔。

10gen 公司不使用關(guān)系型數(shù)據(jù)庫(kù)是有一定原因的,當(dāng)時(shí)他們還在 DoubleClick 公司的時(shí)候捶障,就吃過(guò)關(guān)系型數(shù)據(jù)庫(kù)的苦頭僧须。DoubleClick 是一家網(wǎng)絡(luò)廣告公司,服務(wù)美國(guó)眾多的知名公司残邀,該公司每秒提供 40 萬(wàn)個(gè)廣告皆辽,但在可伸縮性和敏捷性方面經(jīng)常遇到困難,因此他們不得不經(jīng)常自己開發(fā)和使用許多自定義數(shù)據(jù)存儲(chǔ)來(lái)解決現(xiàn)有關(guān)系型數(shù)據(jù)庫(kù)的不足芥挣,這讓他們很是苦惱驱闷。

因此他們決定開發(fā)一款數(shù)據(jù)庫(kù)產(chǎn)品解決他們?cè)?DoubleClick 時(shí)遇到的問題,并為自己的云計(jì)算產(chǎn)品提供存儲(chǔ)服務(wù)空免。

  • MongoDB 最初于 2007 年開發(fā)空另,由位于紐約的一個(gè)名為 10gen 的組織開發(fā),現(xiàn)在被稱為 MongoDB Inc.
  • 2009 年蹋砚,經(jīng)過(guò)將近 2 年的開發(fā)扼菠,10gen 開發(fā)出了 MongoDB 的雛形并將它開源以及正式命名為 MongoDB,同時(shí)成立開源社區(qū)坝咐,通過(guò)社區(qū)運(yùn)營(yíng) MongoDB循榆。
  • 2009 年 02 月 MongoDB 1.0 發(fā)布,提供了大部分基本的查詢功能墨坚。
  • 2009 年 12 月 MongoDB 1.2 發(fā)布秧饮,引入了 map-reduce,支持大規(guī)模數(shù)據(jù)處理。
  • MongoDB 的第一個(gè)真正產(chǎn)品是從 2010 年 03 月發(fā)布的 MongoDB 1.4 版本開始的盗尸。
  • 2010 年 8 月 MongoDB 1.6 發(fā)布柑船,引入了一些主要特性,比如用于水平伸縮的分片泼各、具備自動(dòng)故障轉(zhuǎn)移能力的副本集以及對(duì) IPv6 的支持鞍时。
  • 2012 年 05 月 23 日,MongoDB 2.1 發(fā)布扣蜻。該版本采用全新架構(gòu)逆巍,包含諸多增強(qiáng)。
  • 2012 年 06 月 06 日弱贼,MongoDB 2.0.6 發(fā)布蒸苇,分布式文檔數(shù)據(jù)庫(kù)磷蛹。
  • 2012 年 8 月 MongoDB 2.2 發(fā)布吮旅,引入了聚合管道,可以將多個(gè)數(shù)據(jù)處理步驟組合成一個(gè)操作鏈味咳。
  • 2013 年 MongoDB 推出第一款商業(yè)版本 MongoDB Enterprise Advanced庇勃。
  • 2013 年 04 月 23 日,MongoDB 2.4.3 發(fā)布槽驶,此版本包括了一些性能優(yōu)化责嚷,功能增強(qiáng)以及 bug 修復(fù)。
  • 2013 年 08 月 20 日掂铐,MongoDB 2.4.6 發(fā)布罕拂,仍然是以性能優(yōu)化,功能增強(qiáng)和 bug 修復(fù)為主全陨。
  • 2015 年 03 月 MongoDB 3.0 發(fā)布爆班,包含了新的 WiredTiger 存儲(chǔ)引擎、可插拔存儲(chǔ)引擎 API辱姨、增加了 50 個(gè)副本集限制和安全改進(jìn)柿菩。同年晚些時(shí)候又發(fā)布了 3.2 版本,支持文檔驗(yàn)證雨涛、部分索引和一些主要的聚合增強(qiáng)枢舶。
  • 2016 年 MongoDB 推出了 Atlas 服務(wù),MongoDB Atlas替久,與公有云服務(wù)廠商(谷歌凉泄、微軟Azure)合作。這一年蚯根,MongoDB 爆出了非常嚴(yán)重的安全門事件后众,黑客通過(guò) MongoDB 的默認(rèn)監(jiān)聽地址 0.0.0.0 刪除數(shù)據(jù),并且通過(guò)此漏洞進(jìn)行勒索,支付 0.2 到 0.5 的比特幣就可以恢復(fù)數(shù)據(jù)吼具。
  • 2017 年 10 月 MongoDB 公司成立 10 周年之際僚纷,順利通過(guò) IPO 在紐交所上市。開盤 24 美元拗盒,公司估值達(dá)到 16 億美元怖竭,并獲得 1.92 美元的籌資。
  • 2017 年 11 月 MongoDB 3.6 發(fā)布陡蝇,為多集合連接查詢痊臭、變更流和使用 JSON 模式進(jìn)行文檔驗(yàn)證提供了更好的支持。
  • 2018 年 06 月 MongoDB 4.0 發(fā)布登夫,這一版本的發(fā)布獲得了廣泛的關(guān)注广匙,提供了跨文檔事務(wù)處理能力。這是一個(gè)重要的里程碑恼策,MongoDB 已經(jīng)為高數(shù)據(jù)完整性需求做好了準(zhǔn)備鸦致。
  • 2019 年 03 月 18 日,F(xiàn)orrester 授予 MongoDB NoSQL 領(lǐng)導(dǎo)者稱號(hào)涣楷。
  • 2019 年 10 月 MongoDB 4.2 發(fā)布分唾,開始支持分布式事務(wù)。
  • 截至 2020 年 10 月狮斗,MongoDB 的社區(qū)版版本是 4.4.1绽乔,擴(kuò)展性和性能增強(qiáng),降低復(fù)制延遲碳褒,可用性和容錯(cuò)性增強(qiáng)折砸,查詢能力和易用性增強(qiáng),MongoDB 云平臺(tái)的功能更新沙峻。MongoDB 逐漸的從一個(gè)專注于數(shù)據(jù)庫(kù)服務(wù)的廠商睦授,轉(zhuǎn)變?yōu)樘峁?shù)據(jù)平臺(tái)服務(wù)的廠商。

截至 2020 年专酗,MongoDB 的全球下載量達(dá)到了 1.1 億次睹逃。MongoDB 公司目前有 2000 多名員工,有超過(guò) 18000 名付費(fèi)客戶祷肯,其中有很多客戶同時(shí)使用 MongoDB Atlas 和 MongoDB 企業(yè)版沉填。大多數(shù)大公司在內(nèi)部的一些場(chǎng)景中仍然使用的是社區(qū)版。MongoDB 社區(qū)版仍然是開源的佑笋,除了一些關(guān)鍵特性外翼闹,它與 MongoDB 企業(yè)版差不多。

MongoDB 支持語(yǔ)言

MongoDB 與關(guān)系型數(shù)據(jù)庫(kù)術(shù)語(yǔ)對(duì)比

SQL 術(shù)語(yǔ)概念 MongoDB 術(shù)語(yǔ)概念
database(數(shù)據(jù)庫(kù)) database(數(shù)據(jù)庫(kù))
table(表) collection(集合)
row(行) document or BSON document(文檔)
column(列) field(字段)
index(索引) index(索引)
table joins(表連接) embedded documents and linking(嵌入的文檔和鏈接)
primary key Specify any unique column or column combination as primary key.(指定任意唯一的列或列組合作為主鍵) primary keyIn MongoDB, the primary key isautomatically set to the _id field.(在 MongoDB 中蒋纬,主鍵被自動(dòng)設(shè)置為 _id 字段)
aggregation (e.g. group by) MongoDB provides three ways to perform aggregation: the aggregation pipeline, the map-reduce function, and single purpose aggregation methods.(聚合操作)

MongoDB 數(shù)據(jù)類型

數(shù)據(jù)類型 描述
String 字符串猎荠。存儲(chǔ)數(shù)據(jù)常用的數(shù)據(jù)類型坚弱。在 MongoDB 中,UTF-8 編碼的字符串才是合法的关摇。
Integer 整型數(shù)值荒叶。用于存儲(chǔ)數(shù)值。根據(jù)你所采用的服務(wù)器输虱,可分為 32 位或 64 位些楣。
Boolean 布爾值。用于存儲(chǔ)布爾值(真/假)宪睹。
Double 雙精度浮點(diǎn)值愁茁。用于存儲(chǔ)浮點(diǎn)值。
Min/Max keys 將一個(gè)值與 BSON(二進(jìn)制的 JSON)元素的最低值和最高值相對(duì)比亭病。
Arrays 用于將數(shù)組或列表或多個(gè)值存儲(chǔ)為一個(gè)鍵鹅很。
Timestamp 時(shí)間戳。記錄文檔修改或添加的具體時(shí)間罪帖。
Object 用于內(nèi)嵌文檔促煮。
Null 用于創(chuàng)建空值。
Symbol 符號(hào)胸蛛。該數(shù)據(jù)類型基本上等同于字符串類型污茵,但不同的是樱报,它一般用于采用特殊符號(hào)類型的語(yǔ)言葬项。
Date 日期時(shí)間。用 UNIX 時(shí)間格式來(lái)存儲(chǔ)當(dāng)前日期或時(shí)間迹蛤。你可以指定自己的日期時(shí)間:創(chuàng)建 Date 對(duì)象民珍,傳入年月日信息。
Object ID 對(duì)象 ID盗飒。用于創(chuàng)建文檔的 ID嚷量。
Binary Data 二進(jìn)制數(shù)據(jù)。用于存儲(chǔ)二進(jìn)制數(shù)據(jù)逆趣。
Code 代碼類型蝶溶。用于在文檔中存儲(chǔ) JavaScript 代碼。
Regular expression 正則表達(dá)式類型宣渗。用于存儲(chǔ)正則表達(dá)式抖所。

MongoDB 下載與安裝

下載

官網(wǎng):https://www.mongodb.com/

下載地址:https://www.mongodb.com/try/download/community

在頁(yè)面中選擇 MongoDB Community Server 社區(qū)版,根據(jù)自己的系統(tǒng)選擇對(duì)應(yīng)的版本痕囱,我自己使用的是 CentOS 版本田轧。而 MongoDB 只有 RedHat 版本,下載使用即可鞍恢。

CentOS 是 Community ENTerprise Operating System 的簡(jiǎn)稱傻粘,也可以叫它社區(qū)企業(yè)操作系統(tǒng)每窖,是 Linux 操作系統(tǒng)中的一個(gè)發(fā)行版本。

CentOS 并不是全新的 Linux 發(fā)行版弦悉,它是 Red Hat 家族發(fā)行的企業(yè)版的產(chǎn)品 Red Hat Enterprise Linux(以下稱之為 RHEL)的克隆版本窒典。RHEL 是很多企業(yè)采用的 Linux 發(fā)行版本,需要向 Red Hat 付費(fèi)才可以使用稽莉,并能得到付費(fèi)對(duì)應(yīng)的服務(wù)崇败,技術(shù)支持和版本升級(jí)。CentOS 可以像 RHEL 一樣的構(gòu)筑 Linux 系統(tǒng)環(huán)境肩祥,但不需要向 Red Hat 支付任何的產(chǎn)品和服務(wù)費(fèi)用后室,同時(shí)也得不到任何有償技術(shù)支持和升級(jí)服務(wù)。

還可以通過(guò):https://docs.mongodb.com/manual/installation/ 確認(rèn)該版本軟件是否支持你的操作系統(tǒng)混狠。

安裝

將資源上傳至服務(wù)器 /usr/local/src岸霹,解壓至 /usr/local 并重命名為 mongodb

# 創(chuàng)建 mongodb 目錄
mkdir -p /usr/local/mongodb
# 解壓 mongodb 至指定目錄
tar -zxvf /usr/local/src/mongodb-linux-x86_64-rhel70-4.4.1.tgz -C /usr/local/
# 重命名解壓目錄為 mongodb
mv /usr/local/mongodb-linux-x86_64-rhel70-4.4.1/ /usr/local/mongodb

創(chuàng)建數(shù)據(jù)/日志目錄

創(chuàng)建用于存放數(shù)據(jù)和日志的文件夾将饺,并修改其權(quán)限增加讀寫權(quán)限贡避。

# 創(chuàng)建存放數(shù)據(jù)的目錄
mkdir -p /usr/local/mongodb/data/db
# 創(chuàng)建存放日志的目錄
mkdir -p /usr/local/mongodb/logs
# 創(chuàng)建日志記錄文件
touch /usr/local/mongodb/logs/mongodb.log

啟動(dòng) MongoDB

前臺(tái)啟動(dòng)

MongoDB 的默認(rèn)啟動(dòng)方式為前臺(tái)啟動(dòng)。所謂的前臺(tái)啟動(dòng)就是 MongoDB 啟動(dòng)進(jìn)程后會(huì)占用當(dāng)前的終端窗口予弧。

# 切換至指定目錄
cd /usr/local/mongodb/
# 前臺(tái)啟動(dòng)
bin/mongod --dbpath /usr/local/mongodb/data/db/ --logpath /usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --bind_ip 0.0.0.0
  • --dbpath:指定數(shù)據(jù)文件存放目錄
  • --logpath:指定日志文件刮吧,注意是指定文件不是目錄
  • --logappend:使用追加的方式記錄日志
  • --port:指定端口,默認(rèn)為 27017
  • --bind_ip:綁定服務(wù) IP掖蛤,若綁定 127.0.0.1杀捻,則只能本機(jī)訪問,默認(rèn)為本機(jī)地址

后臺(tái)啟動(dòng)

所謂的后臺(tái)啟動(dòng)就是以守護(hù)進(jìn)程的方式啟動(dòng) MongoDB蚓庭。命令中添加 --fork 即可致讥。

# 后臺(tái)啟動(dòng)
bin/mongod --dbpath /usr/local/mongodb/data/db/ --logpath /usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --bind_ip 0.0.0.0 --fork

通過(guò)命令啟動(dòng)的方式并不適合管理,畢竟每次輸入命令都需要考慮各參數(shù)的配置器赞。我們可以通過(guò)配置文件來(lái)配置啟動(dòng)參數(shù)垢袱,然后通過(guò)指定配置文件的方式啟動(dòng)服務(wù),這樣在管理 MongoDB 上就比較方便了港柜。

配置文件

bin 目錄下增加一個(gè) mongodb.conf 配置文件请契。

# 數(shù)據(jù)文件存放目錄
dbpath = /usr/local/mongodb/data/db
# 日志文件存放目錄
logpath = /usr/local/mongodb/logs/mongodb.log
# 以追加的方式記錄日志
logappend = true
# 端口默認(rèn)為 27017
port = 27017
# 對(duì)訪問 IP 地址不做限制,默認(rèn)為本機(jī)地址
bind_ip = 0.0.0.0
# 以守護(hù)進(jìn)程的方式啟用夏醉,即在后臺(tái)運(yùn)行
fork = true

啟動(dòng)

# 切換至指定目錄
cd /usr/local/mongodb/
# 指定配置文件的方式啟動(dòng)服務(wù)
bin/mongod -f bin/mongodb.conf

客戶端訪問

可以通過(guò) bin 目錄中的 mongo 來(lái)訪問 MongoDB 服務(wù)器爽锥。

命令為:bin/mongo --host 連接的主機(jī)地址(默認(rèn)127.0.0.1) --port 端口(默認(rèn)27017)

[root@localhost mongodb]# bin/mongo
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2bf54fad-83bc-444c-8bee-166a224445b8") }
MongoDB server version: 4.4.1
---
The server generated these startup warnings when booting: 
        2020-10-21T10:47:44.855+08:00: ***** SERVER RESTARTED *****
        2020-10-21T10:47:47.024+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
        2020-10-21T10:47:47.024+08:00: You are running this process as the root user, which is not recommended
        2020-10-21T10:47:47.024+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
        2020-10-21T10:47:47.024+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
        2020-10-21T10:47:47.024+08:00: Soft rlimits too low
        2020-10-21T10:47:47.024+08:00:         currentValue: 1024
        2020-10-21T10:47:47.024+08:00:         recommendedMinimum: 64000
---
---
        Enable MongoDB's free cloud-based monitoring service, which will then receive and display
        metrics about your deployment (disk utilization, CPU, operation statistics, etc).

        The monitoring data will be available on a MongoDB website with a unique URL accessible to you
        and anyone you share the URL with. MongoDB may use this information to make product
        improvements and to suggest MongoDB products and deployment options to you.

        To enable free monitoring, run the following command: db.enableFreeMonitoring()
        To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> 

help 幫助命令。

> help
    db.help()                    help on db methods
    db.mycoll.help()             help on collection methods
    sh.help()                    sharding helpers
    rs.help()                    replica set helpers
    help admin                   administrative help
    help connect                 connecting to a db help
    help keys                    key shortcuts
    help misc                    misc things to know
    help mr                      mapreduce

    show dbs                     show database names
    show collections             show collections in current database
    show users                   show users in current database
    show profile                 show most recent system.profile entries with time >= 1ms
    show logs                    show the accessible logger names
    show log [name]              prints out the last segment of log in memory, 'global' is default
    use <db_name>                set current database
    db.mycoll.find()             list objects in collection mycoll
    db.mycoll.find( { a : 1 } )  list objects in mycoll where a == 1
    it                           result of the last line evaluated; use to further iterate
    DBQuery.shellBatchSize = x   set default number of items to display on shell
    exit                         quit the mongo shell

db.version() 查看版本信息授舟。

> db.version()
4.4.1

show dbs 查看所有數(shù)據(jù)庫(kù)救恨。

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

這里先簡(jiǎn)單通過(guò)客戶端進(jìn)行訪問測(cè)試,后面會(huì)詳細(xì)羅列客戶端操作 MongoDB 數(shù)據(jù)庫(kù)释树、集合肠槽、文檔擎淤、索引、內(nèi)置函數(shù)等相關(guān)的操作秸仙。

關(guān)閉 MongoDB

前臺(tái)啟動(dòng)關(guān)閉

使用 Ctrl + c 即可關(guān)閉嘴拢。

后臺(tái)啟動(dòng)關(guān)閉

使用 --shutdown 參數(shù)即可關(guān)閉。

# 命令啟動(dòng)方式的關(guān)閉
bin/mongod --dbpath /usr/local/mongodb/data/db/ --logpath /usr/local/mongodb/logs/mongodb.log --logappend --port 27017 --bind_ip 0.0.0.0 --fork --shutdown
# 配置文件啟動(dòng)方式的關(guān)閉
bin/mongod -f bin/mongodb.conf --shutdown

kill 命令關(guān)閉

通過(guò) kill -9 的方式強(qiáng)制關(guān)閉進(jìn)程寂纪,一般這種方式都不怎么推薦使用席吴。

# 查看 mongodb 運(yùn)行的進(jìn)程信息
ps -ef | grep mongodb
# kill -9 強(qiáng)制關(guān)閉
kill -9 pid

MongoDB 函數(shù)關(guān)閉

連接到 MongoDB 服務(wù)后,切換到 admin 數(shù)據(jù)庫(kù)捞蛋,并使用相關(guān)函數(shù)關(guān)閉服務(wù)孝冒。

# 連接 mongodb
bin/mongo
# 切換 admin 數(shù)據(jù)庫(kù)
use admin
# 執(zhí)行以下函數(shù)(2選1)即可關(guān)閉服務(wù)
db.shutdownServer()
db.runCommand(“shutdown”)

環(huán)境變量

每次操作 MongoDB 都需要進(jìn)入具體的目錄才行,比如啟動(dòng)服務(wù)拟杉,客戶端進(jìn)行連接等庄涡,可不可以在任意目錄都能進(jìn)行操作。答案當(dāng)然是可以的搬设,只需要將 MongoDB 相關(guān)目錄添加至系統(tǒng)環(huán)境變量即可穴店。

先通過(guò) vim /etc/profile 編輯系統(tǒng)環(huán)境變量文件,添加以下內(nèi)容拿穴。

# 添加環(huán)境變量
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin

然后通過(guò) source /etc/profile 重新加載系統(tǒng)環(huán)境變量泣洞。這樣在系統(tǒng)任意目錄下都可以直接操作 MongoDB 了。

本文講解了 MongoDB 的一些入門級(jí)內(nèi)容默色,教會(huì)了大家如何基于 Linux 環(huán)境下載與安裝 MongoDB球凰。下文我們先從安全問題入手,看看 MongoDB 未加密導(dǎo)致的慘痛經(jīng)歷與教訓(xùn)该窗,順便再教大家一波實(shí)用的解決方案弟蚀。

本文采用 知識(shí)共享「署名-非商業(yè)性使用-禁止演繹 4.0 國(guó)際」許可協(xié)議

大家可以通過(guò) 分類 查看更多關(guān)于 MongoDB 的文章酗失。


?? 您的點(diǎn)贊轉(zhuǎn)發(fā)是對(duì)我最大的支持。

?? 關(guān)注公眾號(hào) 哈嘍沃德先生「文檔 + 視頻」每篇文章都配有專門視頻講解昧绣,學(xué)習(xí)更輕松噢 ~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末规肴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子夜畴,更是在濱河造成了極大的恐慌拖刃,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贪绘,死亡現(xiàn)場(chǎng)離奇詭異兑牡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)税灌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門均函,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)亿虽,“玉大人,你說(shuō)我怎么就攤上這事苞也÷迕悖” “怎么了?”我有些...
    開封第一講書人閱讀 158,084評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵如迟,是天一觀的道長(zhǎng)收毫。 經(jīng)常有香客問我,道長(zhǎng)殷勘,這世上最難降的妖魔是什么此再? 我笑而不...
    開封第一講書人閱讀 56,708評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮玲销,結(jié)果婚禮上引润,老公的妹妹穿的比我還像新娘。我一直安慰自己痒玩,他們只是感情好淳附,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蠢古,像睡著了一般奴曙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上草讶,一...
    開封第一講書人閱讀 50,021評(píng)論 1 291
  • 那天洽糟,我揣著相機(jī)與錄音,去河邊找鬼堕战。 笑死坤溃,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嘱丢。 我是一名探鬼主播薪介,決...
    沈念sama閱讀 39,120評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼越驻!你這毒婦竟也來(lái)了汁政?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缀旁,失蹤者是張志新(化名)和其女友劉穎记劈,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體并巍,經(jīng)...
    沈念sama閱讀 44,308評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡目木,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了懊渡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刽射。...
    茶點(diǎn)故事閱讀 38,768評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡军拟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柄冲,到底是詐尸還是另有隱情吻谋,我是刑警寧澤,帶...
    沈念sama閱讀 34,461評(píng)論 4 333
  • 正文 年R本政府宣布现横,位于F島的核電站漓拾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏戒祠。R本人自食惡果不足惜骇两,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姜盈。 院中可真熱鬧低千,春花似錦、人聲如沸馏颂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)救拉。三九已至难审,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間亿絮,已是汗流浹背告喊。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留派昧,地道東北人黔姜。 一個(gè)月前我還...
    沈念sama閱讀 46,571評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蒂萎,于是被迫代替她去往敵國(guó)和親秆吵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評(píng)論 2 350