一、什麼是bsonBSON是一種類json的一種二進位形式的儲存格式,簡稱Binary JSON,它和JSON一樣,支援內嵌的文檔對象和數組對象,但是BSON有JSON沒有的一些資料類型,如Date和BinData類型。BSON可以做為網路資料交換的一種儲存形式,這個有點類似於Google的Protocol
MySQL與MongoDB都是開源的常用資料庫,但是MySQL是傳統的關係型資料庫,MongoDB則是非關係型資料庫,也叫文檔型資料庫,是一種NoSQL的資料庫。它們各有各的優點,關鍵是看用在什麼地方。所以我們所熟知的那些SQL(全稱Structured Query
MongoDB資料庫與傳統的關係型資料庫相比,它具有操作簡單、完全免費、源碼公開等特點,這使MongoDB產品廣泛應用於各種大型門戶網站和專業網站。由於MongoDB串連並不支援HTTP協議,所有你不能直接通過瀏覽器訪問MongoDB,下面詳細介紹MongoDB中連接字串的編寫一、MongoDB連接字串常用格式複製代碼
在伺服器端可以通過db.eval函數來執行javascript指令碼,也可以把javascript指令碼儲存在資料庫中,然後在別的資料庫命令中調用.一、db.eval
Mongodb最大的功能之一就是它支援動態查詢,就跟傳統的關係型資料庫查詢一樣,但是它的查詢來的更靈活。一、 Query Expression Objects:查詢運算式對象查詢運算式文檔也是一個BSON結構的文檔,例如,我們可以用下面的查詢語句來查詢集合中的所有記錄:db.users.find({})這裡,運算式對象是一個空文檔,在查詢的時候去去匹配所有的記錄。再看:複製代碼 代碼如下:db.users.find({'last_name':
group做的彙總有些複雜。先選定分組所依據的鍵,此後MongoDB就會將集合依據選定索引值的不同分成若干組。然後可以通過彙總每一組內的文檔,產生一個結果文檔。和資料庫一樣group常常用於統計。MongoDB的group還有很多限制,如:返回結果集不能超過16M,
MongoDB的destinct命令是擷取特定欄位中不同值列表。該命令適用於普通欄位,數組欄位和數組內嵌文檔.mongodb的distinct的語句:複製代碼 代碼如下:db.users.distinct('last_name')等同於 SQL 陳述式:複製代碼 代碼如下:select DISTINCT last_name from users表示的是根據指定的欄位返回不同的記錄集。一個簡單的執行個體:// > db.addresses.insert({"zip-code": 10010}
一、Mongodb匯出工具mongoexportMongodb中的mongoexport工具可以把一個collection匯出成JSON格式或CSV格式的檔案。可以通過參數指定匯出的資料項目,也可以根據指定的條件匯出資料。mongoexport具體用法 [root@localhost mongodb]# ./bin/mongoexport --help Export MongoDB data to CSV, TSV or JSON files. options: --help
簡要說一下MongoDB的備份方式:1. mogodump / mongorestore這2命令將mongodb的資料dump為BSON格式,需要的時候可以恢複。這種方式作為小的資料庫還適用。但如果是sharding或者幾百G資料以上的話就幾乎不可用了。因為BSON及其佔用空間。2. Slave
簡單的的增刪改查資料在查詢結果中指定顯示或者不顯示某個欄位例如,我們希望在 lessons 集合中尋找所有資料,但是不希望在返回結果中包含 slides 欄位;因為 slides 是一個巨長的以 base64 表示的圖片數組,影響查詢結果的閱讀。那麼我們就可以在 query object 後面跟上一個參數。如下:複製代碼 代碼如下:db.lessons.find({}, {slides:0});同樣也可以明確指定顯示哪些欄位:複製代碼 代碼如下:db.bios.find({ },{ name:
MongoDB MapReduceMapReduce是一種計算模型,簡單的說就是將大批量的工作(資料)分解(MAP)執行,然後再將結果合并成最終結果(REDUCE)。這樣做的好處是可以在任務被分解後,可以通過大量機器進行並行計算,減少整個操作的時間。上面是MapReduce的理論部分,下面說實際的應用,下面以MongoDB MapReduce為例說明。下面是MongoDB官方的一個例子:複製代碼 代碼如下:> db.things.insert( { _id : 1, tags :
MongoDB是一種強大,靈活,可擴充的資料存放區方式.它擴充了關係型資料庫的眾多有用功能,如輔助索引,範圍查詢和排序.MongoDB的功能非常豐富,比如:內建的對MapReduce式彙總的支援,以及對地理空間索引的支援.1.1豐富的資料模型MongoDB是面向文檔的資料庫,不是關係型資料庫.放棄關聯式模式的主要原因就是為了獲得更加方便的擴充性,還有其他的好處.基本思路就是將原來"行"(row)的觀念轉化為更加靈活的"文檔"(document)模型.面向文檔的方式可以將文檔或者數組內嵌進來,所以
2011年將被記住,因為這一年SQL將死;這一年,關聯式資料庫從一線退下;這一年開發人員發現他們沒必要為了持久化資料,而將每個對象轉化為表格結構。2011年是文檔資料庫的一年,儘管一直在穩步發展勢頭,通過過去八年多的發展,現在有各種穩定的文檔資料庫----從基於亞馬遜和Google的雲,到各種開放源碼工具,尤其是MongoDB。那麼,MongoDB是什嗎?這裡的五件事是每個開發人員應該知道的:1) MongoDB是一個獨立的伺服器;如MySQL或PostreSQL
GridFS簡介mongoDB的文檔以BSON格式儲存,支援二進位的資料類型,當我們把二進位格式的資料直接儲存到mongoDB的文檔中。但是當檔案太大時,例如圖片和視頻等檔案,每個文檔的長度是有限的,於是mongoDb會提供了一種處理大檔案的規範--GridFS。GridFS實現原理在GridFS資料庫中,預設使用fs.chunks
首先,向資料庫插入一條bjson資料首先是定義文檔,然後使用admin使用者名稱密碼登入,進入test資料庫,向test資料庫中插入此文檔(“表名稱和表中的記錄”)插入結果,查看mongoVUE如下圖所示從上圖可以看出系統內建的三個資料庫,local,admin,test,在加入一條記錄的時候,會自動產生_id的自動標識。我們再添加圖片,可以使用mongoVUE添加,如下圖所示。Collections:在mongodb中叫做集合,是文檔的集合。無模式,可以儲存各種各樣的文檔。類似mysql中的表
java操作mysql資料庫的代碼我們已經了如指掌了,增刪改查,java對mongodb資料庫也是類似的操作,先是資料庫連接,再是進行操作。首先我們進入進入admin資料庫,然後建立自己的資料庫testMongoDb,進入admin資料庫後,就可以直接進入testMongoDb,因為使用者可以進入系統的資料庫,就是超級管理員,use
我們總是在對比中看到自己的優點和缺點,對於mongodb來說也是一樣,對比學習讓我們儘快的掌握關於mongodb的基礎知識。mongodb與mysql命令對比
我們知道mysql在安裝的時候需要我們設定一個資料庫預設的使用者名稱和密碼,mongodb也不例外,不過mongodb是預設的沒有設定訪問限制的,不需要輸入使用者名稱和密碼都可以訪問的,但是這樣會十分的不安全,我們需要手動的為mongodb加上許可權限制命令。 首先建立一個預設的賬戶 複製代碼 代碼如下: Use admin Db.addUser('sa','sa') &
軟體下載 下載mongodb最新的包:http://www.mongodb.org/downloads 下載mongodb可視化介面,mongoVUE:http://download.csdn.net/detail/lovesummerforever/8036417 軟體安裝 mongodb服務端安裝步驟如下所示: 1、遵守mongodb規範,
MongoDB介紹