標籤:mongodb
1.MongoDB是一款面向文檔的資料庫,那麼面向文檔有什麼好處?
和關係型資料庫不同的是,面向文檔的資料庫沒有“行”的概念,而是“文檔”的概念,因為文檔可以嵌入文檔和數組,所以通過文檔能夠使用一條記錄就可以表現很複雜的層次關係。
另外,面向文檔不再是預定義模式,通常的關係型資料庫在設計資料庫的時候就要先設計好表的結構,面向文檔的資料庫不需要,由於不需要固定的模式,所以添加刪除欄位變得很容易,也就更容易表現複雜的層次關係了。
2.MongoDB中提供了那些功能供我們使用?
MongoDB提供了索引、複製、分區以及豐富的查詢語句,注意MongoDB並不具備串連(join)和複雜的多行事務功能。
3.MongoDB不但區分類型,而且區分大小寫。
{"foo":3}{"foo":"3"}{"foo":3}{"Foo":3}
4.MongoDB的文檔不能有重複的鍵
{"first":"hello world","first":"hello mongo"}
5.MongoDB集合裡面可以放置任何文檔,那麼為什麼還要使用多集合呢?
便於區分各種各樣的文檔。
分開查詢多個集合要快得多。
同種類型的文檔放在一個集合裡,資料更加集中
在一個集合中只放置一種類型的文檔,可以更加有效對集合進行索引。
6.MongoDb中保留資料庫名
admin
這是一個管理員資料庫,也就是root資料庫,如果將一個使用者添加到這個資料庫,這個使用者將自動擷取所有資料庫的許可權,還有就是一些特殊的伺服器端命令也只能從admin資料庫運行,如列出所有資料庫或者關閉伺服器。
local
這個資料庫永遠不可以複製,這是一個本機資料庫,一台伺服器上的所有本地集合都可以儲存在這個資料庫中。
config
分區資訊會儲存在config資料庫中。
7.MongoDB中的資料類型
null、布爾型、數值、字串、Regex、數組、內嵌文檔、對象id、位元據、任意javaScript代碼、JavaScript中日期類
8. mongorc.js檔案的用途
如果某些指令碼會被頻繁的使用,那麼可以將它們添加到mongorc.js中,這個檔案會在啟動shell時自動運行。mongorc.js最常見的用途之一是移出那些比較危險的shell輔助函數,如下:
var no = function(){ print("Not no my watch.");}//禁用刪除資料庫db.dropDatabase = DB.prototype.dropDatabase = no;//禁止刪除集合DBCollection.prototype.drop = no;//禁止刪除索引DBCollection.prototype.dropIndex = no;這些方法並不能保護資料庫免受惡意使用者攻擊,只是預防自己手誤。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
MongoDB入門基本問題