MongoDB 模擬測試



本節為您提供各種與MongoDB框架相關的模擬測試。您可以將這些示例模擬測試下載到本地機器,並在方便時離線解答。每個模擬測試都附帶一個答案,以便您驗證最終分數並進行自我評估。

問答

MongoDB 模擬測試一

題1 - MongoDB 是什麼型別的資料庫?

A - 圖資料庫

B - 文件資料庫

C - 鍵值對資料庫

D - 列式資料庫

答案:B

解釋

MongoDB 將資料儲存在基於 JSON 結構的文件中。這些文件又包含鍵值對形式的資料。

題2 - MongoDB 中的集合和文件分別相當於 SQL 中的哪個概念?

A - 表和行

B - 表和列

C - 列和行

D - 資料庫和表

答案:A

解釋

SQL 資料庫將資料行儲存在表中,MongoDB 將文件儲存在集合中。

答案:D

解釋

MongoDB 為與二維和三維地理空間問題相關的功能提供特定支援。

答案:A

解釋

空文件在 MongoDB 中是有效的。但是,其餘三個文件都存在這樣或那樣的問題。選項 B 有“=”,選項 C 有“;”,選項 D 的陣列格式不正確。它應該是一個子文件。

答案:B

解釋

MongoDB 包中的核心元件是:mongod,核心資料庫程序;mongos,分片叢集的控制器和查詢路由器;以及 mongo,互動式 MongoDB Shell。

題6 - 假設有一個名為 posts 的集合,其欄位包括:_id、post_text、post_author、post_timestamp、post_tags 等。以下哪個查詢僅檢索檢索到的第一個文件中名為 post_text 的鍵?

A - db.posts.find({},{_id:0, post_text:1})

B - db.posts.findOne({post_text:1})

C - db.posts.finOne({},{post_text:1})

D - db.posts.finOne({},{_id:0, post_text:1})

答案:D

解釋

預設情況下,MongoDB 會返回每個文件的 _id 欄位。因此,如果您只想獲取 post_text 欄位,則必須顯式排除 _id 欄位。此外,由於我們只需要檢索第一個文件,因此必須使用 findOne 而非 find。

答案:B

解釋

findOne() 和 find() 查詢非常不同。find() 方法返回遊標,而 findOne() 返回實際的文件。因此,選項 B 不正確,其餘選項正確。

答案:C

解釋

skip 和 limit 函式是線性應用的,因此它將首先跳過文件 1-5,然後返回文件 6-10。

答案:C

解釋

$set 用於設定文件中特定欄位的值。set 的語法是 $set:{column_name : column_value}。此外,需要 {multi:true} 來更新所有文件。否則,只更新找到的第一個文件。

題10 - MongoDB explain() 方法不支援以下哪種詳細模式

A - queryPlanner

B - executionStats

C - allPlansExecution

D - customExecutionStats

答案:D

解釋

explain() 的可能模式是:“queryPlanner”、“executionStats”和“allPlansExecution”。

題11 - explain() 命令執行的預設模式是什麼?

A - queryPlanner

B - executionStats

C - allPlansExecution

D - customExecutionStats

答案:A

解釋

預設模式是“queryPlanner”。

題12 - MongoDB 寫入在多長時間內寫入日誌?

A - 60 秒

B - 100 毫秒

C - 1 秒

D - 100 秒

答案:B

解釋

預設情況下,寫入會在 100 毫秒內物理寫入日誌。

答案:C

解釋

除非您轉儲整個資料,刪除分片鍵然後重新匯入所有內容,否則沒有直接更改分片鍵的方法。其他所有選項都是錯誤的。分片在集合級別啟用,它不會預設建立任何索引,最後分片環境支援常規排序。

題14 - MongoDB 文件的最大大小是多少?

A - 2 MB

B - 16 MB

C - 12 MB

D - 沒有最大大小。它取決於 RAM。

答案:B

解釋

最大 BSON 文件大小為 16 兆位元組。最大文件大小有助於確保單個文件不會使用過多的 RAM,或者在傳輸過程中不會使用過多的頻寬。

答案:C

解釋

索引條目的總大小(根據 BSON 型別可能包括結構開銷)必須小於 1024 位元組。單個集合最多隻能有 64 個索引。

題16 - 以下程式的輸出是什麼?

A - 60 秒

B - 100 毫秒

C - 1 秒

D - 100 秒

答案:A

解釋

在預設配置中,MongoDB 每 60 秒將資料寫入磁碟上的主資料檔案。

答案:A

解釋

$type 用於所有涉及檢查 MongoDB 中欄位型別的操作。10 代表 null 的 BSON 值。

答案:C

解釋

mongoimport 工具匯入由 mongoexport 或其他第三方匯出工具建立的擴充套件 JSON、CSV 或 TSV 匯出內容。

Q 19 - 在 mongo shell 中,哪個命令可以用來顯示 MongoDB 例項中的所有資料庫?

A - show dbs

B - show databases

C - show dbs -all

D - ls dbs

答案:A

解釋

show dbs 返回所有資料庫的列表。

Q 20 - 以下哪個副本整合員會參與主副本集的選舉投票?

A - 從節點 (Secondary)

B - 隱藏節點 (Hidden)

C - 延遲節點 (Delayed)

D - 以上所有

答案:D

解釋

副本集的所有成員(除非 votes 值等於 0)都會參與選舉投票。這包括所有延遲節點、隱藏節點和只讀從節點。

Q 21 - 使用哪個命令可以檢查名為 posts 的集合的大小?

A - db.posts.stats()

B - db.posts.findStats()

C - db.posts.find({stats:1})

D - db.stats({ collection : posts })

答案:A

解釋

要檢視集合的統計資訊(包括資料大小),請使用 mongo shell 中的 db.collection.stats() 方法。

Q 22 - 以下哪些命令可能導致資料庫鎖定?

A - 發出查詢

B - 插入資料

C - Map-Reduce

D - 以上所有

答案:D

解釋

以上所有命令都會導致讀鎖、寫鎖或兩者兼有。

Q 23 - 預設情況下,mongo shell 中的 MongoDB 遊標配置為返回多少個文件?要獲取下一組文件,使用哪個命令?

A - 20,it

B - 200,more

C - 50,it

D - 無限制,none

答案:A

解釋

在 mongo shell 中,如果返回的遊標沒有使用 var 關鍵字賦值給變數,則遊標會自動迭代最多 20 次 [1] 以列印結果中的前 20 個文件。要獲取下一組結果,應使用 it 命令,它將迭代下一組結果。

答案:D

解釋

由於 100 和 200 都包含在內,我們需要使用 $gte(大於等於)和 $lte(小於等於)。

答案:A

解釋

$gt、$lt 和相關運算子也可以應用於字串操作。它們的工作方式與在數值上相同。

答案表

題號 答案
1 B
2 A
3 D
4 A
5 B
6 D
7 B
8 C
9 C
10 D
11 A
12 B
13 C
14 B
15 C
16 A
17 A
18 C
19 A
20 D
21 A
22 D
23 A
24 D
25 A
mongodb_questions_answers.htm
廣告