MongoDB常见面试题及答案模板
什么是MongoDB?
MongoDB是一個文檔數據庫,提供好的性能,領先的非關系型數據庫。采用BSON存儲文檔數據。
BSON()是一種類json的一種二進制形式的存儲格式,簡稱Binary JSON.
相對于json多了date類型和二進制數組
MySQL與MongoDB之間最基本的差別是什么?
MySQL和MongoDB兩者都是免費開源的數據庫。MySQL和MongoDB有許多基本差別包括數據的表示(data representation),查詢,關系,事務,schema的設計和定義,標準化(normalization),速度和性能。
通過比較MySQL和MongoDB,實際上我們是在比較關系型和非關系型數據庫,即數據存儲結構不同
MongoDB成為最好NoSQL數據庫的原因是什么?
以下特點使得MongoDB成為最好的NoSQL數據庫:
- 面向文件的
- 高性能
- 高可用性
- 易擴展性
- 豐富的查詢語言
為什么用MOngoDB?
- 架構簡單
- 沒有復雜的連接
- 深度查詢能力,MongoDB支持動態查詢。
- 容易調試
- 容易擴展
- 不需要轉化/映射應用對象到數據庫對象
- 使用內部內存作為存儲工作區,以便更快的存取數據
在哪些場景使用MongoDB?
- 大數據
- 內容管理系統
- 移動端Apps
- 數據管理
monogodb 中的分片什么意思
分片是將數據水平切分到不同的物理節點。當應用數據越來越大的時候,數據量也會越來越大。當數據量增長
時,單臺機器有可能無法存儲數據或可接受的讀取寫入吞吐量。利用分片技術可以添加更多的機器來應對數據量增加
以及讀寫操作的要求
MongoDB支持主鍵外鍵關系嗎
默認MongoDB不支持主鍵和外鍵關系。 用Mongodb本身的API需要硬編碼才能實現外鍵關聯,不夠直觀且難度
較大
MongoDB支持哪些數據類型
- String
- Integer
- Double
- Boolean
- Object
- Object ID
- Arrays
- Min/Max Keys
- Datetime
- Code
- Regular Expression等
在MongoDb中什么是索引
索引用于高效的執行查詢,沒有索引的MongoDB將掃描整個集合中的所有文檔,這種掃描效率很低,需要處理大量
的數據.
索引是一種特殊的數據結構,將一小塊數據集合保存為容易遍歷的形式.索引能夠存儲某種特殊字段或字段集的
值,并按照索引指定的方式將字段值進行排序
如何添加索引
使用db.collection.createIndex()在集合中創建一個索引如何查詢集合中的文檔
db.collectionName.find({key:value})用什么方法可以格式化輸出結果
db.collectionName.find().pretty()更新數據
db.collectionName.update({key:value},{$set:{newkey:newValue}})如何刪除文檔
db.collectionName.remove({key:value})在MongoDB中如何排序
并使用 1 和 -1 來指定排序方式,其中 1 表示升序,而 -1 表示降序。db.connectionName.find({key:value}).sort({columnName:1})什么是聚合
聚合操作能夠處理數據記錄并返回計算結果。聚合操作能將多個文檔中的值組合起來,對成組數據執行各種操作,返回單一的結果。它相當于 SQL 中的 count(*) 組合 group by。對于 MongoDB 中的聚合操作,應該使用aggregate()方法。
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)在MongoDB中什么是副本集(避免單點故障)
在MongoDB中副本集由一組MongoDB實例組成,包括一個主節點多個次節點,MongoDB客戶端的所有數據都
寫入主節點(Primary),副節點從主節點同步寫入數據,以保持所有復制集內存儲相同的數據,提高數據可用性
如何理解MongoDB中的GridFS機制,MongoDB為何使用GridFS來存儲文件?
GridFS是一種將大型文件存儲在MongoDB中的文件規范。使用GridFS可以將大文件分隔成多個小文檔存放,這樣我們能夠有效的保存大文檔,而且解決了BSON對象有限制的問題
索引類型有哪些?
- 單字段索引(Single Field Indexes)
- 復合索引(Compound Indexes)
- 多鍵索引(Multikey Indexes)
- 全文索引(text Indexes)
- Hash 索引(Hash Indexes)
- 通配符索引(Wildcard Index)
- 2dsphere索引(2dsphere Indexes)
什么是master或primary?
副本集只能有一個主節點能夠確認寫入操作來接收所有寫操作,并記錄其操作日志中的數據集的所有更改(記錄在oplog中)。在集群中,當主節點(master)失效,Secondary節點會變為master
復制集節點類型有哪些?
- 優先級0型(Priority 0)節點
- 隱藏型(Hidden)節點
- 延遲型(Delayed)節點
- 投票型(Vote)節點以及不可投票節點
總結
以上是生活随笔為你收集整理的MongoDB常见面试题及答案模板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MongoDB数据库的创建与删除
- 下一篇: Django简介Django 各个环境下