精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

進(jìn)大廠必看的 MongoDB 面試題集錦

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù) MongoDB
MongoDB是由C++語(yǔ)言編寫的,是一個(gè)基于分布式文件存儲(chǔ)的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點(diǎn),可以保證服務(wù)器性能。MongoDB旨在給Web應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

 [[414369]]

1、MongoDB是什么?

MongoDB是由C++語(yǔ)言編寫的,是一個(gè)基于分布式文件存儲(chǔ)的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點(diǎn),可以保證服務(wù)器性能。MongoDB旨在給Web應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

MongoDB將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對(duì)組成。MongoDB文檔類似于JSON對(duì)象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。

2、MongoDB有哪些特點(diǎn)?

  •  MongoDB是一個(gè)面向文檔存儲(chǔ)的數(shù)據(jù)庫(kù),操作起來(lái)比較簡(jiǎn)單和容易。
  •  你可以在MongoDB記錄中設(shè)置任何屬性的索引(如:FirstName="Sameer",Address="8 Gandhi Road")來(lái)實(shí)現(xiàn)更快的排序。
  •  你可以通過(guò)本地或者網(wǎng)絡(luò)創(chuàng)建數(shù)據(jù)鏡像,這使得MongoDB有更強(qiáng)的擴(kuò)展性。
  •  如果負(fù)載的增加(需要更多的存儲(chǔ)空間和更強(qiáng)的處理能力),它可以分布在計(jì)算機(jī)網(wǎng)絡(luò)中的其他節(jié)點(diǎn)上這就是所謂的分片。
  •  MongoDB支持豐富的查詢表達(dá)式。查詢指令使用JSON形式的標(biāo)記,可輕易查詢文檔中內(nèi)嵌的對(duì)象及數(shù)組。
  •  MongoDB使用update()命令可以實(shí)現(xiàn)替換完成的文檔(數(shù)據(jù))或者一些指定的數(shù)據(jù)字段。
  •  MongoDB中的Map/Reduce主要是用來(lái)對(duì)數(shù)據(jù)進(jìn)行批量處理和聚合操作。
  •  Map和Reduce。Map函數(shù)調(diào)用emit(key,value)遍歷集合中所有的記錄,將key與value傳給Reduce函數(shù)進(jìn)行處理。
  •  Map函數(shù)和Reduce函數(shù)是使用Javascript編寫的,并可以通過(guò)db.runCommand或mapreduce命令來(lái)執(zhí)行MapReduce操作。
  •  GridFS是MongoDB中的一個(gè)內(nèi)置功能,可以用于存放大量小文件。
  •  MongoDB允許在服務(wù)端執(zhí)行腳本,可以用JavaScript編寫某個(gè)函數(shù),直接在服務(wù)端執(zhí)行,也可以把函數(shù)的定義存儲(chǔ)在服務(wù)端,下次直接調(diào)用即可。

3、你說(shuō)的NoSQL數(shù)據(jù)庫(kù)是什么意思?NoSQL與RDBMS直接有什么區(qū)別?為什么要使用和不使用NoSQL數(shù)據(jù)庫(kù)?說(shuō)一說(shuō)NoSQL數(shù)據(jù)庫(kù)的幾個(gè)優(yōu)點(diǎn)?

NoSQL是非關(guān)系型數(shù)據(jù)庫(kù),NoSQL = Not Only SQL。

關(guān)系型數(shù)據(jù)庫(kù)采用的結(jié)構(gòu)化的數(shù)據(jù),NoSQL采用的是鍵值對(duì)的方式存儲(chǔ)數(shù)據(jù)。

在處理非結(jié)構(gòu)化/半結(jié)構(gòu)化的大數(shù)據(jù)時(shí),在水平方向上進(jìn)行擴(kuò)展時(shí),隨時(shí)應(yīng)對(duì)動(dòng)態(tài)增加的數(shù)據(jù)項(xiàng)時(shí)可以優(yōu)先考慮使用NoSQL數(shù)據(jù)庫(kù)。

再考慮數(shù)據(jù)庫(kù)的成熟度,支持,分析和商業(yè)智能,管理及專業(yè)性等問(wèn)題時(shí),應(yīng)優(yōu)先考慮關(guān)系型數(shù)據(jù)庫(kù)。

4、NoSQL數(shù)據(jù)庫(kù)有哪些類型?

NoSQL數(shù)據(jù)庫(kù)的類型例如:MongoDB、Cassandra、CouchDB、Hypertable、Redis、Riak、HBASE、Memcache等.

5、MySQL與MongoDB之間最基本的差別是什么?

MySQL和MongoDB兩者都是免費(fèi)開(kāi)源的數(shù)據(jù)庫(kù)。MySQL和MongoDB有許多基本差別包括數(shù)據(jù)的表示(data representation),查詢,關(guān)系,事務(wù),schema的設(shè)計(jì)和定義,標(biāo)準(zhǔn)化(normalization),速度和性能。

通過(guò)比較MySQL和MongoDB,實(shí)際上我們是在比較關(guān)系型和非關(guān)系型數(shù)據(jù)庫(kù),即數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)不同。

6、你怎么比較MongoDB、CouchDB及CouchBase?

MongoDB和CouchDB都是面向文檔的數(shù)據(jù)庫(kù)。MongoDB和CouchDB都是開(kāi)源NoSQL數(shù)據(jù)庫(kù)的最典型代表。除了都以文檔形式存儲(chǔ)外它們沒(méi)有其他的共同點(diǎn)。MongoDB和CouchDB在數(shù)據(jù)模型實(shí)現(xiàn)、接口、對(duì)象存儲(chǔ)以及復(fù)制方法等方面有很多不同。

7、MongoDB成為最好NoSQL數(shù)據(jù)庫(kù)的原因是什么?

以下特點(diǎn)使得MongoDB成為最好的NoSQL數(shù)據(jù)庫(kù):

  •  面向文件的
  •  高性能
  •  高可用性
  •  易擴(kuò)展性
  •  豐富的查詢語(yǔ)言

8、journal回放在條目(entry)不完整時(shí)(比如恰巧有一個(gè)中途故障了)會(huì)遇到問(wèn)題嗎?

每個(gè)journal(group)的寫操作都是一致的,除非它是完整的否則在恢復(fù)過(guò)程中它不會(huì)回放。

9、分析器在MongoDB中的作用是什么?

MongoDB中包括了一個(gè)可以顯示數(shù)據(jù)庫(kù)中每個(gè)操作性能特點(diǎn)的數(shù)據(jù)庫(kù)分析器。通過(guò)這個(gè)分析器你可以找到比預(yù)期慢的查詢(或?qū)懖僮鳎焕眠@一信息,比如,可以確定是否需要添加索引。

10、namespace是什么?

MongoDB存儲(chǔ)BSON對(duì)象在叢集(collection)中。數(shù)據(jù)庫(kù)名字和叢集名字以句點(diǎn)連接起來(lái)叫做namespace。

11、如果用戶移除對(duì)象的屬性,該屬性是否從存儲(chǔ)層中刪除?

是的,用戶移除屬性然后對(duì)象會(huì)重新保存(re-save())。

12、能否使用日志特征進(jìn)行安全備份?

是的。

13、允許空值null嗎?

對(duì)于對(duì)象成員而言,是的。然而用戶不能夠添加空值(null)到數(shù)據(jù)庫(kù)叢集(collection)因?yàn)榭罩挡皇菍?duì)象,然而用戶能夠添加空對(duì)象{}。

14、更新操作立刻fsync到磁盤?

不會(huì),磁盤寫操作默認(rèn)是延遲執(zhí)行的。寫操作可能在兩三秒(默認(rèn)在60秒內(nèi))后到達(dá)磁盤。例如,如果一秒內(nèi)數(shù)據(jù)庫(kù)收到一千個(gè)對(duì)一個(gè)對(duì)象遞增的操作,僅刷新磁盤一次。(注意,盡管fsync選項(xiàng)在命令行和經(jīng)過(guò)getLastError_old是有效的)

15、如何執(zhí)行事務(wù)/加鎖?

MongoDB沒(méi)有使用傳統(tǒng)的鎖或者復(fù)雜的帶回滾的事務(wù),因?yàn)樗O(shè)計(jì)的宗旨是輕量,快速以及可預(yù)計(jì)的高性能。可以把它類比成MySQL MylSAM的自動(dòng)提交模式。通過(guò)精簡(jiǎn)對(duì)事務(wù)的支持,性能得到了提升,特別是在一個(gè)可能會(huì)穿過(guò)多個(gè)服務(wù)器的系統(tǒng)里。

16、為什么我的數(shù)據(jù)文件如此龐大?

MongoDB會(huì)積極的預(yù)分配預(yù)留空間來(lái)防止文件系統(tǒng)碎片。

17、啟用備份故障恢復(fù)需要多久?

從備份數(shù)據(jù)庫(kù)聲明主數(shù)據(jù)庫(kù)宕機(jī)到選出一個(gè)備份數(shù)據(jù)庫(kù)作為新的主數(shù)據(jù)庫(kù)將花費(fèi)10到30秒時(shí)間。這期間在主數(shù)據(jù)庫(kù)上的操作將會(huì)失敗——包括寫入和強(qiáng)一致性讀取(strong consistent read)操作。然而,你還能在第二數(shù)據(jù)庫(kù)上執(zhí)行最終一致性查詢(eventually consistent query)(在slaveOk模式下),即使在這段時(shí)間里。

18、什么是master或primary?

它是當(dāng)前備份集群(replica set)中負(fù)責(zé)處理所有寫入操作的主要節(jié)點(diǎn)/成員。在一個(gè)備份集群中,當(dāng)失效備援(failover)事件發(fā)生時(shí),一個(gè)另外的成員會(huì)變成primary。

19、什么是secondary或slave?

Seconday從當(dāng)前的primary上復(fù)制相應(yīng)的操作。它是通過(guò)跟蹤復(fù)制oplog(local.oplog.rs)做到的。

20、我必須調(diào)用getLastError來(lái)確保寫操作生效了么?

不用。不管你有沒(méi)有調(diào)用getLastError(又叫Safe Mode)服務(wù)器做的操作都一樣。調(diào)用getLastError只是為了確認(rèn)寫操作成功提交了。當(dāng)然,你經(jīng)常想得到確認(rèn),但是寫操作的安全性和是否生效不是由這個(gè)決定的。

21、我應(yīng)該啟動(dòng)一個(gè)集群分片(sharded)還是一個(gè)非集群分片的MongoDB環(huán)境?

為開(kāi)發(fā)便捷起見(jiàn),我們建議以非集群分片(unsharded)方式開(kāi)始一個(gè)MongoDB環(huán)境,除非一臺(tái)服務(wù)器不足以存放你的初始數(shù)據(jù)集。從非集群分片升級(jí)到集群分片(sharding)是無(wú)縫的,所以在你的數(shù)據(jù)集還不是很大的時(shí)候沒(méi)必要考慮集群分片(sharding)。

22、分片(sharding)和復(fù)制(replication)是怎樣工作的?

每一個(gè)分片(shard)是一個(gè)分區(qū)數(shù)據(jù)的邏輯集合。分片可能由單一服務(wù)器或者集群組成,我們推薦為每一個(gè)分片(shard)使用集群。

23、數(shù)據(jù)在什么時(shí)候才會(huì)擴(kuò)展到多個(gè)分片(shard)里?

MongoDB分片是基于區(qū)域(range)的。所以一個(gè)集合(collection)中的所有的對(duì)象都被存放到一個(gè)塊(chunk)中。只有當(dāng)存在多余一個(gè)塊的時(shí)候,才會(huì)有多個(gè)分片獲取數(shù)據(jù)的選項(xiàng)。現(xiàn)在,每個(gè)默認(rèn)塊的大小是64Mb,所以你需要至少64Mb空間才可以實(shí)施一個(gè)遷移。

24、當(dāng)我試圖更新一個(gè)正在被遷移的塊(chunk)上的文檔時(shí)會(huì)發(fā)生什么?

更新操作會(huì)立即發(fā)生在舊的分片(shard)上,然后更改才會(huì)在所有權(quán)轉(zhuǎn)移(ownership transfers)前復(fù)制到新的分片上。

25、如果在一個(gè)分片(shard)停止或者很慢的時(shí)候,我發(fā)起一個(gè)查詢會(huì)怎樣?

如果一個(gè)分片(shard)停止了,除非查詢?cè)O(shè)置了“Partial”選項(xiàng),否則查詢會(huì)返回一個(gè)錯(cuò)誤。如果一個(gè)分片(shard)響應(yīng)很慢,MongoDB則會(huì)等待它的響應(yīng)。

26、我可以把moveChunk目錄里的舊文件刪除嗎?

沒(méi)問(wèn)題,這些文件是在分片(shard)進(jìn)行均衡操作(balancing)的時(shí)候產(chǎn)生的臨時(shí)文件。一旦這些操作已經(jīng)完成,相關(guān)的臨時(shí)文件也應(yīng)該被刪除掉。但目前清理工作是需要手動(dòng)的,所以請(qǐng)小心地考慮再釋放這些文件的空間。

27、我怎么查看MongoDB正在使用的鏈接?

  1. db._adminCommand("connPoolStats"); 

28、如果塊移動(dòng)操作(moveChunk)失敗了,我需要手動(dòng)清除部分轉(zhuǎn)移的文檔嗎?

不需要,移動(dòng)操作是一致(consistent)并且是確定性的(deterministic);一次失敗后,移動(dòng)操作會(huì)不斷重試;當(dāng)完成后,數(shù)據(jù)只會(huì)出現(xiàn)在新的分片里(shard)。

29、如果我在使用復(fù)制技術(shù)(replication),可以一部分使用日志(journaling)而其他部分則不使用嗎?

可以。

30、當(dāng)更新一個(gè)正在被遷移的塊(Chunk)上的文檔時(shí)會(huì)發(fā)生什么?

更新操作會(huì)立即發(fā)生在舊的塊(Chunk)上,然后更改才會(huì)在所有權(quán)轉(zhuǎn)移前復(fù)制到新的分片上。

31、MongoDB在A:{B,C}上建立索引,查詢A:{B,C}和A:{C,B}都會(huì)使用索引嗎?

不會(huì),只會(huì)在A:{B,C}上使用索引。

32、如果一個(gè)分片(Shard)停止或很慢的時(shí)候,發(fā)起一個(gè)查詢會(huì)怎樣?

如果一個(gè)分片停止了,除非查詢?cè)O(shè)置了“Partial”選項(xiàng),否則查詢會(huì)返回一個(gè)錯(cuò)誤。如果一個(gè)分片響應(yīng)很慢,MongoDB會(huì)等待它的響應(yīng)。

33、MongoDB支持存儲(chǔ)過(guò)程嗎?如果支持的話,怎么用?

MongoDB支持存儲(chǔ)過(guò)程,它是JavaScript寫的,保存在db.system.js表中。

34、如何理解MongoDB中的GridFS機(jī)制,MongoDB為何使用GridFS來(lái)存儲(chǔ)文件?

GridFS是一種將大型文件存儲(chǔ)在MongoDB中的文件規(guī)范。使用GridFS可以將大文件分隔成多個(gè)小文檔存放,這樣我們能夠有效的保存大文檔,而且解決了BSON對(duì)象有限制的問(wèn)題。

35、為什么MongoDB的數(shù)據(jù)文件很大?

MongoDB采用的預(yù)分配空間的方式來(lái)防止文件碎片。

36、分析器在MongoDB中的作用是什么?

分析器就是explain顯示每次操作性能特點(diǎn)的數(shù)據(jù)庫(kù)分析器。通過(guò)分析器可能查找比預(yù)期慢的操作。

37、如何執(zhí)行事務(wù)/加鎖?

因?yàn)镸ongoDB設(shè)計(jì)就是輕量高性能,所以沒(méi)有傳統(tǒng)的鎖和復(fù)雜的事務(wù)的回滾。

38、getLastError的作用?

調(diào)用getLastError可以確認(rèn)當(dāng)前的寫操作是否成功的提交。

39、MongoDB的結(jié)構(gòu)介紹?

數(shù)據(jù)庫(kù)中存儲(chǔ)的對(duì)象設(shè)計(jì)bson,一種類似json的二進(jìn)制文件,由鍵值對(duì)組成。

40、數(shù)據(jù)庫(kù)的整體結(jié)構(gòu)?

鍵值對(duì)–》文檔–》集合–》數(shù)據(jù)庫(kù)

41、MongoDB是由哪種語(yǔ)言寫的?

MongoDB用C++編寫的,流行的開(kāi)源數(shù)據(jù)庫(kù)MySQL也是用C++開(kāi)發(fā)的。C++于1983年發(fā)行,是一種使用廣泛的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它是一種痛用程序設(shè)計(jì)語(yǔ)言,支持多種編程模式。

42、MongoDB的優(yōu)勢(shì)有哪些?

  •  面向文檔的存儲(chǔ):以JSON格式的文檔保存數(shù)據(jù)。
  •  任何屬性都可以建立索引。
  •  復(fù)制以及高可擴(kuò)展性。
  •  自動(dòng)分片。
  •  豐富的查詢功能。
  •  快速的即時(shí)更新。
  •  來(lái)自MongoDB的專業(yè)支持。

43、什么是集合?

集合就是一組MongoDB文檔。它相當(dāng)于關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)中的表這種概念。集合位于單獨(dú)的一個(gè)數(shù)據(jù)庫(kù)中。一個(gè)集合內(nèi)的多個(gè)文檔可以有多個(gè)不同的字段。一般來(lái)說(shuō),集合中的文檔都有著相同或相關(guān)的目的。

44、什么是文檔?

文檔由一組key value組成。文檔是動(dòng)態(tài)模式,這意味著同一集合里的文檔不需要有相同的字段和結(jié)構(gòu)。在關(guān)系型數(shù)據(jù)庫(kù)中table中的每一條記錄相當(dāng)于MongoDB中的一個(gè)文檔。

45、什么是“mongod”?

mongod是處理MongoDB系統(tǒng)的主要進(jìn)程。它處理數(shù)據(jù)請(qǐng)求,管理數(shù)據(jù)存儲(chǔ),和執(zhí)行后臺(tái)管理操作。當(dāng)我們運(yùn)行mongod命令意味著正在啟動(dòng)MongoDB進(jìn)程,并且在后臺(tái)運(yùn)行。

46、“mongod”參數(shù)有什么?

  •  傳遞數(shù)據(jù)庫(kù)存儲(chǔ)路徑,默認(rèn)是“/data/db”
  •  端口號(hào)默認(rèn)是“27017”

47、什么是“mongo”?

它是一個(gè)命令行工具,用于連接一個(gè)特定的mongod實(shí)例。當(dāng)我們沒(méi)有帶參數(shù)運(yùn)行mongo命令,它將使用默認(rèn)的端口號(hào)和localhost連接。

48、在MongoDB中如何創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)?

MongoDB用use+數(shù)據(jù)庫(kù)名稱的方式來(lái)創(chuàng)建數(shù)據(jù)庫(kù)。use會(huì)創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),如果該數(shù)據(jù)庫(kù)存在,則返回這個(gè)數(shù)據(jù)庫(kù)。

49、什么是非關(guān)系型數(shù)據(jù)庫(kù)?

非關(guān)系型數(shù)據(jù)庫(kù)是對(duì)不同于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的統(tǒng)稱。非關(guān)系型數(shù)據(jù)庫(kù)的顯著特點(diǎn)是不使用SQL作為查詢語(yǔ)言,數(shù)據(jù)存儲(chǔ)不需要特定的表格模式。由于簡(jiǎn)單的設(shè)計(jì)和非常好的性能所以被用于大數(shù)據(jù)和Web Apps等。

50、非關(guān)系型數(shù)據(jù)庫(kù)有哪些類型?

  •  -Key-Value 存儲(chǔ),eg:Amazon S3
  •  圖表,eg:Neo4J
  •  文檔存儲(chǔ),eg:MongoDB
  •  基于列存儲(chǔ),eg:Cassandra

51、為什么用MongoDB?

  •  架構(gòu)簡(jiǎn)單
  •  沒(méi)有復(fù)雜的連接
  •  深度查詢能力,MongoDB支持動(dòng)態(tài)查詢
  •  容易調(diào)試
  •  容易擴(kuò)展
  •  不需要轉(zhuǎn)化/映射應(yīng)用對(duì)象到數(shù)據(jù)庫(kù)對(duì)象
  •  使用內(nèi)部?jī)?nèi)存作為存儲(chǔ)工作區(qū),以便更快的存取數(shù)據(jù)

52、在哪些場(chǎng)景使用MongoDB?

  •  大數(shù)據(jù)
  •  內(nèi)容管理系統(tǒng)
  •  移動(dòng)端Apps
  •  數(shù)據(jù)管理

53、MongoDB中的命名空間是什么意思?

MongoDB內(nèi)部有預(yù)分配空間的機(jī)制,每個(gè)預(yù)分配的文件都用0進(jìn)行填充。

數(shù)據(jù)文件每新分配一次,它的大小都是上一個(gè)數(shù)據(jù)文件大小的2倍,每個(gè)數(shù)據(jù)文件最大2G。

MongoDB每個(gè)集合和每個(gè)索引都對(duì)應(yīng)一個(gè)命名空間,這些命名空間的元數(shù)據(jù)集中在16M的*.ns文件中,平均每個(gè)命名占用約628字節(jié),也即整個(gè)數(shù)據(jù)庫(kù)的命名空間的上限約為24000。

如果每個(gè)集合有一個(gè)索引(比如默認(rèn)的_id索引),那么最多可以創(chuàng)建12000個(gè)集合。如果索引數(shù)更多,則可創(chuàng)建的集合數(shù)就更少了。同時(shí),如果集合數(shù)太多,一些操作也會(huì)變慢。

要建立更多的集合的話,MongoDB也是支持的,只需要在啟動(dòng)時(shí)加上“--nssize”參數(shù),這樣對(duì)應(yīng)數(shù)據(jù)庫(kù)的命名空間文件就可以變得更大以便保存更多的命名。這個(gè)命名空間文件(.ns文件)最大可以為2G。

每個(gè)命名空間對(duì)應(yīng)的盤區(qū)不一定是連續(xù)的。與數(shù)據(jù)文件增長(zhǎng)相同,每個(gè)命名空間對(duì)應(yīng)的盤區(qū)大小都是隨分配次數(shù)不斷增長(zhǎng)的。目的是為了平衡命名空間浪費(fèi)的空間與保持一個(gè)命名空間數(shù)據(jù)的連續(xù)性。

需要注意的一個(gè)命名空間$freelist,這個(gè)命名空間用于記錄不再使用的盤區(qū)(被刪除的Collection或索引)。每當(dāng)命名空間需要分配新盤區(qū)時(shí),會(huì)先查看$freelist是否有大小合適的盤區(qū)可以使用,如果有就回收空閑的磁盤空間。

54、哪些語(yǔ)言支持MongoDB?

C、C++、C#、Java、Node.js、Perl、PHP等。

55、在MongoDB中如何查看數(shù)據(jù)庫(kù)列表?

使用命令:

  1. show dbs 

56、MongoDB中的分片是什么意思?

分片是將數(shù)據(jù)水平切分到不同的物理節(jié)點(diǎn)。當(dāng)應(yīng)用數(shù)據(jù)越來(lái)越大的時(shí)候,數(shù)據(jù)量也會(huì)越來(lái)越大。當(dāng)數(shù)據(jù)量增長(zhǎng)時(shí),單臺(tái)機(jī)器有可能無(wú)法存儲(chǔ)數(shù)據(jù)或可接受的讀取寫入吞吐量。利用分片技術(shù)可以添加更多的機(jī)器來(lái)應(yīng)對(duì)數(shù)據(jù)量增加以及讀寫操作的要求。

57、什么是復(fù)制?

復(fù)制是將數(shù)據(jù)同步到多個(gè)服務(wù)器的過(guò)程,通過(guò)多個(gè)數(shù)據(jù)副本存儲(chǔ)到多個(gè)服務(wù)器上增加數(shù)據(jù)可用性。復(fù)制可以保障數(shù)據(jù)的安全性,災(zāi)難恢復(fù),無(wú)需停機(jī)維護(hù)(如備份、重建索引、壓縮),分布式讀取數(shù)據(jù)。

58、在MongoDB中如何在集合中插入一個(gè)文檔?

要想將數(shù)據(jù)插入MongoDB集合中,需要使用insert()或save()方法。 

  1. >db.collectionName.insert({"key":"value"})  
  2. >db.collectionName.save({"key":"value"}) 

59、在MongoDB中如何除去一個(gè)數(shù)據(jù)庫(kù)?

MongoDB的dropDatabase()命令用于刪除已有數(shù)據(jù)庫(kù): 

  1. >db.dropDatabase() 

60、在MongoDB中如何創(chuàng)建一個(gè)集合?

在MongoDB中,創(chuàng)建集合采用db.createCollection(name, options)方法。options是一個(gè)用來(lái)指定集合配置的文檔。 

  1. >db.createCollection("collectionName")db.createCollection() - MongoDB Manual>db.createCollection() 

61、在MongoDB中如何查看一個(gè)已經(jīng)創(chuàng)建的集合?

可以使用show collections查看當(dāng)前數(shù)據(jù)庫(kù)中的所有集合清單: 

  1. >show collections 

62、在MongoDB中如何刪除一個(gè)集合?

MongoDB利用db.collection.drop()來(lái)刪除數(shù)據(jù)庫(kù)中的集合: 

  1. >db.CollectionName.drop() 

63、為什么要在MongoDB中使用分析器?

數(shù)據(jù)庫(kù)分析工具(Database Profiler)會(huì)針對(duì)正在運(yùn)行的mongod實(shí)例收集數(shù)據(jù)庫(kù)命令執(zhí)行的相關(guān)信息。包括增刪改查的命令以及配置和管理命令。分析器(profiler)會(huì)寫入所有收集的數(shù)據(jù)到system.profile集合,一個(gè)capped集合在管理員數(shù)據(jù)庫(kù)。分析器默認(rèn)是關(guān)閉的你能通過(guò)per數(shù)據(jù)庫(kù)或per實(shí)例開(kāi)啟。

64、MongoDB支持主鍵外鍵關(guān)系嗎?

默認(rèn)MongoDB不支持主鍵和外鍵關(guān)系。用MongoDB本身的API需要硬編碼才能實(shí)現(xiàn)外鍵關(guān)聯(lián),不夠直觀且難度較大。

65、MongoDB支持哪些數(shù)據(jù)類型?

String、Integer、Double、Boolean、Object、Object ID、Arrays、Min/Max Keys、Datetime、Code、Regular Expression等。

66、為什么要在MongoDB中用“Code”數(shù)據(jù)類型?

“Code”類型用于在文檔中存儲(chǔ)JavaScript代碼。

67、為什么要在MongoDB中用“Regular Expression”數(shù)據(jù)類型?

“Regular Expression”類型用于在文檔中存儲(chǔ)正則表達(dá)式。

68、為什么在MongoDB中使用“ObjectID”數(shù)據(jù)類型?

“ObjectID”數(shù)據(jù)類型用于存儲(chǔ)文檔ID。

69、“ObjectID”由哪些部分組成?

一共有四部分組成:時(shí)間戳、客戶端ID、客戶進(jìn)程ID、三個(gè)字節(jié)的增量計(jì)數(shù)器。

_id是一個(gè)12字節(jié)長(zhǎng)的十六進(jìn)制數(shù),它保證了每一個(gè)文檔的唯一性。在插入文檔時(shí),需要提供_id。如果你不提供,那么MongoDB就會(huì)為每一文檔提供一個(gè)唯一的id。_id的頭4個(gè)字節(jié)代表的是當(dāng)前的時(shí)間戳,接著的后3個(gè)字節(jié)表示的是機(jī)器id號(hào),接著的2個(gè)字節(jié)表示MongoDB服務(wù)器進(jìn)程id,最后的3個(gè)字節(jié)代表遞增值。

70、在MongoDB中什么是索引?

索引用于高效的執(zhí)行查詢,沒(méi)有索引MongoDB將掃描查詢整個(gè)集合中的所有文檔這種掃描效率很低,需要處理大量數(shù)據(jù)。索引是一種特殊的數(shù)據(jù)結(jié)構(gòu),將一小塊數(shù)據(jù)集保存為容易遍歷的形式。索引能夠存儲(chǔ)某種特殊字段或字段集的值,并按照索引指定的方式將字段值進(jìn)行排序。

71、如何添加索引?

使用db.collection.createIndex()在集合中創(chuàng)建一個(gè)索引: 

  1. >db.collectionName.createIndex({columnName:1}) 

72、用什么方法可以格式化輸出結(jié)果?

使用pretty()方法可以格式化顯示結(jié)果: 

  1. >db.collectionName.find().pretty() 

73、如何使用“AND”或“OR”條件循環(huán)查詢集合中的文檔?

在find()方法中,如果傳入多個(gè)鍵,并用逗號(hào)(,)分隔它們,那么MongoDB會(huì)把它看成是AND條件。 

  1. >db.mycol.find({key1:value1, key2:value2}).pretty() 

若基于OR條件來(lái)查詢文檔,可以使用關(guān)鍵字$or。 

  1. >db.mycol.find(  
  2.  {  
  3.   $or: [  
  4.     {key1: value1}, {key2:value2}  
  5.   ]  
  6.  }  
  7. ).pretty() 

74、在MongoDB中如何更新數(shù)據(jù)?

update()與save()方法都能用于更新集合中的文檔。update()方法更新已有文檔中的值,而save()方法則是用傳入該方法的文檔來(lái)替換已有文檔。

75、如何刪除文檔?

MongoDB利用remove()方法清除集合中的文檔。它有2個(gè)可選參數(shù):

  •  deletion criteria:(可選)刪除文檔的標(biāo)準(zhǔn)。
  •  justOne:(可選)如果設(shè)為true或1,則只刪除一個(gè)文檔。 
  1. >db.collectionName.remove({key:value}) 

76、在MongoDB中如何排序?

MongoDB中的文檔排序是通過(guò)sort()方法來(lái)實(shí)現(xiàn)的。sort()方法可以通過(guò)一些參數(shù)來(lái)指定要進(jìn)行排序的字段,并使用1和-1來(lái)指定排序方式,其中1表示升序,而-1表示降序。 

  1. >db.connectionName.find({key:value}).sort({columnName:1}) 

77、什么是聚合?

聚合操作能夠處理數(shù)據(jù)記錄并返回計(jì)算結(jié)果。聚合操作能將多個(gè)文檔中的值組合起來(lái),對(duì)成組數(shù)據(jù)執(zhí)行各種操作,返回單一的結(jié)果。它相當(dāng)于SQL中的count(*)組合group by。對(duì)于MongoDB中的聚合操作,應(yīng)該使用aggregate()方法。 

  1. >db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION) 

78、在MongoDB中什么是副本集?

在MongoDB中副本集由一組MongoDB實(shí)例組成,包括一個(gè)主節(jié)點(diǎn)多個(gè)次節(jié)點(diǎn),MongoDB客戶端的所有數(shù)據(jù)都寫入主節(jié)點(diǎn)(Primary),副節(jié)點(diǎn)從主節(jié)點(diǎn)同步寫入數(shù)據(jù),以保持所有復(fù)制集內(nèi)存儲(chǔ)相同的數(shù)據(jù),提高數(shù)據(jù)可用性。 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux公社
相關(guān)推薦

2020-03-02 14:13:16

程序員技能開(kāi)發(fā)者

2010-12-29 10:33:51

Oracle

2010-04-22 16:31:20

Oracle開(kāi)發(fā)面試題

2015-07-03 11:32:08

硅谷搜狐試題集錦

2012-02-02 09:45:24

Web

2025-08-13 02:11:00

抽象類模板AI

2009-08-01 23:17:19

ASP.NET面試題目ASP.NET

2021-06-27 22:48:28

Redis數(shù)據(jù)庫(kù)內(nèi)存

2019-09-10 11:10:26

MySQL數(shù)據(jù)庫(kù)索引

2021-12-08 11:18:21

Spring Bean面試題生命周期

2014-09-19 11:17:48

面試題

2020-06-04 14:40:40

面試題Vue前端

2011-03-24 13:27:37

SQL

2023-11-13 07:37:36

JS面試題線程

2020-07-09 13:30:03

RedisJava分布式鎖

2018-04-16 12:38:37

大數(shù)據(jù)工程師面試

2015-09-02 09:32:56

java線程面試

2009-06-06 18:34:05

java面試題

2009-06-06 18:36:02

java面試題

2020-09-21 11:10:06

Docker運(yùn)維面試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久久久网址| 日韩一区二区精品| 精选一区二区三区四区五区| 69国产精品视频免费观看| 亚洲精品中文字幕99999| 色婷婷综合久久久中文字幕| 一区二区三区四区视频在线| 亚洲av无码专区在线| 久久国产高清| 精品国产依人香蕉在线精品| 黄色免费视频网站| 国产极品一区| 午夜精品免费在线| 在线国产精品网| 欧美 日韩 国产 成人 在线 91| 老鸭窝91久久精品色噜噜导演| 久久久www成人免费精品| 亚洲国产果冻传媒av在线观看| 欧洲亚洲精品| 色狠狠综合天天综合综合| 欧美精品久久96人妻无码| 亚洲三区在线播放| 久久国产福利国产秒拍| 高清欧美性猛交| 国产精品天天干| 国产成人aa在线观看网站站| 色激情天天射综合网| 国产美女主播在线| 欧美激情办公室videoshd| 成人av综合一区| 成人免费网站在线看| 美日韩一二三区| 欧美日韩精选| 久久精品国产v日韩v亚洲| 男女做爰猛烈刺激| 欧美激情久久久久久久久久久| 欧美美女直播网站| 青青在线免费观看视频| 国产美女高潮在线观看| 亚洲一区二三区| 法国空姐在线观看免费| bbbbbbbbbbb在线视频| 久久蜜臀精品av| 精品福利影视| 凸凹人妻人人澡人人添| 成人性色生活片| 亚洲曰本av电影| 国产女无套免费视频| 欧美aaa在线| 国产精品电影网| 男人天堂av在线播放| 亚洲久久在线| 69av在线播放| wwwwww国产| 亚洲综合国产激情另类一区| 91av在线不卡| 日韩人妻精品中文字幕| 一区二区三区国产在线| 78m国产成人精品视频| 日韩免费黄色片| 中文一区在线| 青青草99啪国产免费| 在线观看黄网站| 香蕉成人久久| 国产精品高潮呻吟久久av无限| 精品人妻一区二区三区免费看| 国产精品美女久久久浪潮软件| 韩国国内大量揄拍精品视频| 国产成人一区二区三区影院在线 | 亚洲女同在线| 欧美一级在线亚洲天堂| 手机看片久久久| 三级精品在线观看| 国产欧美在线视频| 国产婷婷在线视频| 成人涩涩免费视频| 久久手机视频| 秋霞午夜理伦电影在线观看| 综合久久综合久久| 男人添女人荫蒂免费视频| 中文字幕 在线观看| 在线免费观看一区| 天堂网成人在线| 精品亚洲精品| 中文字幕无线精品亚洲乱码一区| 亚洲视频重口味| 欧美日韩网站| 26uuu另类亚洲欧美日本老年| 成年人视频免费| 国产一区在线看| 久久99精品久久久久久三级 | 欧美私人情侣网站| 国产一区二区色噜噜| 日韩一区二区三区四区五区六区| 国产真实乱人偷精品| 黑人操亚洲人| 欧美激情小视频| 亚洲国产精品无码久久久| 激情深爱一区二区| 久久久福利视频| 欧美精品videos另类| 亚洲成av人片一区二区梦乃| 久久精品影视大全| 国产厕拍一区| 久久激情五月丁香伊人| 午夜影院在线看| 久草这里只有精品视频| 久久99精品国产99久久| 快射视频在线观看| 一本色道久久综合亚洲91| 亚洲视频在线不卡| 欧美日韩国产在线观看网站| 欧美劲爆第一页| 中文字幕久久熟女蜜桃| 成人av电影在线观看| 正在播放91九色| 亚洲欧美小说色综合小说一区| 91精品久久久久久蜜臀| 亚洲高清无码久久| 91精品久久久久久久久久不卡| 欧美亚洲伦理www| www.天天干.com| 国产精品美女久久久久久久久久久| 男人添女人荫蒂免费视频| 国产精品美女久久久久人| 亚洲天堂成人在线视频| 精品91久久久| 成人小视频在线观看| 大地资源网在线观看免费官网| 色成人免费网站| 国产丝袜高跟一区| 国产精品成人久久| 国产精品69毛片高清亚洲| 伊人情人网综合| 午夜av成人| 亚洲欧美日韩第一区| 五月天综合激情| 国产成人精品亚洲午夜麻豆| 吴梦梦av在线| 欧美视频精品| 日韩在线欧美在线| 自拍偷拍色综合| 久久久久久久综合| 欧美色图另类小说| 网友自拍一区| 欧美在线性视频| 视频三区在线观看| 精品日韩美女的视频高清| 人妻激情偷乱频一区二区三区| 欧美成人亚洲| av成人免费观看| 日本性爱视频在线观看| 日韩精品中午字幕| 国语对白一区二区| 不卡欧美aaaaa| 成年人看的毛片| 久久精品国产亚洲blacked| 久久久视频在线| 天天干天天做天天操| 精品久久久久久亚洲精品| 国产精品一区二区入口九绯色| 一本一本久久| 欧美精品一区二区三区四区五区| 色尼玛亚洲综合影院| 亚洲三级黄色在线观看| 国产精品sm调教免费专区| 中文字幕在线不卡一区二区三区| 一级黄色大片儿| 欧美午夜电影在线观看| 久久大片网站| 日韩精品三区| 不卡av电影在线观看| 成人av无码一区二区三区| 精品久久中文字幕| 国产sm调教视频| 精品一区二区三区免费| 日本精品福利视频| 日韩欧美国产大片| 国产精品狼人色视频一区| a视频在线观看| 亚洲国产精品成人av| 波多野结衣黄色网址| ㊣最新国产の精品bt伙计久久| 国产裸体视频网站| 99综合精品| 亚洲欧洲日韩精品| 精品国产一区二| 欧美中文在线观看| 免费黄色网址在线观看| 精品精品国产高清a毛片牛牛 | heyzo中文字幕在线| 亚洲欧美国产一区二区三区| 91麻豆国产在线| 亚洲成人免费在线| 91香蕉国产视频| av中文字幕不卡| 成年网站在线播放| 尤物在线精品| 亚洲视频精品一区| 久久影视三级福利片| 国产精品一区二区久久国产| 超免费在线视频| 色偷偷91综合久久噜噜| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻av无码一区二区三区 | 日韩av一级大片| jizz18欧美18| 国产女人18毛片水18精品| 国产黄大片在线观看| 久久视频中文字幕| 国产日本在线观看| 亚洲国产成人精品久久| 一级黄色片网站| 色婷婷一区二区| 日韩女优在线观看| 亚洲六月丁香色婷婷综合久久| 国产高潮呻吟久久| 成人爱爱电影网址| 亚洲在线观看网站| 久久er99精品| 亚洲男人天堂色| 先锋影音久久久| 蜜桃传媒一区二区三区| 欧美福利视频| 异国色恋浪漫潭| 欧美综合久久| 日韩jizzz| 蜜桃精品wwwmitaows| 国产一区二区自拍| 午夜免费欧美电影| 91热精品视频| 亚洲网站免费| 国产精品偷伦一区二区| 欧美最新精品| 欧美专区第一页| 激情视频网站在线播放色| 欧美激情一区二区三区成人| www在线观看播放免费视频日本| 中文字幕亚洲一区| 成全电影播放在线观看国语| 亚洲欧美成人一区二区在线电影| 无码国产伦一区二区三区视频| 精品欧美一区二区三区精品久久| 国产欧美一区二区三区视频在线观看| 欧美三片在线视频观看| 一级片在线免费播放| 在线观看一区二区视频| 无码人妻黑人中文字幕| 色婷婷国产精品久久包臀| 在线观看亚洲天堂| 欧美日韩在线第一页| 国产无遮挡呻吟娇喘视频| 福利一区福利二区微拍刺激| 天堂网av手机版| 色综合久久综合| 一级特黄免费视频| 欧美日韩国产123区| 在线视频欧美亚洲| 91精品欧美久久久久久动漫 | 91精品国产66| 国产精品直播网红| 国产精品一区二区美女视频免费看| 91精品视频观看| 欧美经典一区| 精品91免费| av在线不卡顿| 国产欧美综合一区| 国产综合网站| 久久久噜噜噜www成人网| 水蜜桃久久夜色精品一区的特点| 中文字幕视频在线免费观看| 精品在线亚洲视频| 亚洲一区二区三区黄色| 91网站在线播放| 欧美激情 一区| 最近中文字幕一区二区三区| 久久亚洲成人av| 色94色欧美sute亚洲线路一久| 伊人免费在线观看| 欧美成人一区二区| 亚洲日本香蕉视频| 日韩视频免费看| av女在线播放| 国产主播在线一区| 激情亚洲另类图片区小说区| 欧美污视频久久久| 欧美+亚洲+精品+三区| 免费无码不卡视频在线观看| 日韩不卡在线观看日韩不卡视频| 国产一区二区在线观看免费视频| 成人午夜激情在线| a级在线免费观看| 一区二区三区中文免费| 天堂网视频在线| 日韩欧美区一区二| 美女毛片在线看| 欧美美女操人视频| 三上悠亚激情av一区二区三区| 97人人干人人| 成人综合专区| 香港三级韩国三级日本三级| 久久se精品一区精品二区| 国产精品无码网站| 一区在线观看免费| 久久国产视频一区| 日韩精品自拍偷拍| 欧美jizz18性欧美| 奇米一区二区三区四区久久| 深夜福利一区二区三区| 色综合久久久久久久久五月| 亚洲狠狠婷婷| 污免费在线观看| 中文字幕欧美区| 成人毛片18女人毛片| 日韩精品一区二区在线观看| 尤物网址在线观看| 日韩美女在线播放| 成人性生交大片免费看96| 中文字幕久久综合| 日韩**一区毛片| 爱爱的免费视频| 亚洲国产日韩一级| 国产激情视频在线播放| 国产一区二区三区在线观看视频 | 男人天堂久久久| 国产成人精品a视频一区www| 黄色欧美网站| 国产九色porny| 成熟亚洲日本毛茸茸凸凹| 国产精品白丝喷水在线观看| 欧美三级午夜理伦三级中视频| 欧美孕妇孕交| 91成人福利在线| 卡一精品卡二卡三网站乱码| 无码av天堂一区二区三区| 国产一区二区三区综合| 亚洲少妇xxx| 欧美日韩免费视频| h视频网站在线观看| 国产免费一区二区三区香蕉精| 欧洲grand老妇人| 成人性做爰aaa片免费看不忠| 99re这里只有精品6| 日韩欧美激情视频| 日韩不卡在线观看| 女人高潮被爽到呻吟在线观看| 国产欧美日本在线| 日韩午夜免费| 少妇精品一区二区三区| 色综合久久综合中文综合网| 人成在线免费视频| 国产精品成人一区| 手机在线电影一区| 亚洲丝袜在线观看| 一区二区欧美视频| 人人妻人人玩人人澡人人爽| 午夜精品www| 蜜桃精品wwwmitaows| 在线免费视频一区| 一区在线观看免费| 亚洲国产成人在线观看| 高清欧美性猛交xxxx黑人猛交| 久久资源综合| 凹凸日日摸日日碰夜夜爽1| 日本一区二区在线不卡| 国产一区二区三区中文字幕| 乱亲女秽乱长久久久| 精品欠久久久中文字幕加勒比| 国产精品无码av在线播放| 国产午夜精品美女毛片视频| 亚洲一区二区影视| 欧美精品一区在线播放| 九色丨蝌蚪丨成人| 精品www久久久久奶水| 国产精品久久久久三级| 精品国产99久久久久久宅男i| 久久久亚洲成人| 国内精品久久久久久99蜜桃| 亚洲男人天堂2021| 亚洲成av人在线观看| 国产日韩精品在线看| 亚洲自拍中文字幕| 亚洲一区视频| 天天做夜夜爱爱爱| 亚洲国产精品久久91精品| 精品日本视频| 91传媒免费视频| 国产偷国产偷精品高清尤物 | www.av麻豆| 波霸ol色综合久久| 老司机凹凸av亚洲导航| 我要看一级黄色大片| 午夜一区二区三区在线观看| 在线观看黄av| 国产亚洲情侣一区二区无| 秋霞电影网一区二区| 国产成年人免费视频| 日韩中文字幕网站| 日本成人a网站| 人妻换人妻仑乱| 欧美性大战久久久|