Time of Update: 2018-12-05
Object IDs在mongodb中的文檔需要使用唯一的關鍵字_id來標識他們。_id欄位幾乎每一個mongodb文檔都使用_id欄位作為第一個屬性(在系統集合和定容量集合(capped
Time of Update: 2018-12-05
首先要下載mongo-hadoop adaptergit clone https://github.com/mongodb/mongo-hadoop.gitgit checkout release-1.0然後進入mongo-hadoop目錄,找到build.sbt將 hadoopRelease in ThisBuild 修改成如下所示:hadoopRelease in ThisBuild := "0.20" 然後運行 ./sbt package(關於sbt https://github.com/
Time of Update: 2018-12-05
由於mongodb是非關係型的(沒有串連(join)),文檔間的引用(“外鍵”)通常是在用戶端通過向伺服器進行額外查詢來解決的(linking)。這些串連總是在用戶端解決的。直接/手動做這些是非常容易並且也是推薦這樣做的。這裡還有一個很多驅動都支援的DBRef機制,它在一定程度上抽象了linking的概念。推薦的方法是使用直接/手動link。內嵌對象是對linking的一種備選方案並且很多時候它非常合適和表現優秀。簡單的直接/手動linking通常,手動編寫link解決方案就可以很好工作並且也很
Time of Update: 2018-12-05
GridFS是MongoDB中儲存大檔案的一種規範。所有官方支援的驅動都實現了GridFS規範。基本原理資料庫支援以BSON對象格式儲存位元據。但是,在mongodb中BSON對象大小是受限制的(老版本中是4MB,v1.7/1.8中是16MB,將來該限制會更高一些)。GridFS規範提供一種機制,可以透明的將一個大檔案拆分到多個較小文檔中。這允許我們可以高效的儲存大對象,尤其是大檔案,例如視頻,還允許範圍操作(比如,擷取檔案的前N個位元組)。實現為了實現這點,該規範指定了一個可以將檔案分塊的標準
Time of Update: 2018-12-05
何時使用GridFS大量檔案。GirdFS在處理大資料量(幾千)檔案時比很多檔案系統表現要好。使用者上傳的檔案。當使用者上傳檔案時你可能會有大量的檔案,並且想對他們進行複製然後備份。GridFS是儲存他們的理想途徑,這樣你就可以想管理普通資料那樣管理這些檔案了。你還可以使用關鍵字使用者,上傳時間等到資料倉儲中直接查詢,不需要通過間接層。經常改變的檔案。如果你有一些確定會經常改變的檔案-把他們儲存在GridFS是有意義的,這樣你可以在一個地方修改,然後所有的用戶端會擷取這些更新。它比儲存在分類樹中
Time of Update: 2018-12-05
索引通常可以顯著的提高查詢效能。仔細考慮你的應用中會用到的查詢種類這樣你就可以定義相關的索引了。一旦索引定義完成,在mongodb中實際建立它們是很簡單的。Mongodb的索引在概念上和MySQL等關係型資料庫的索引非常相似。當你在某些情境下需要在MySQL中建立一個索引,這樣的情境同樣適用於Mongodb。基本概念一個索引就是一個資料結構,它收集集合中文檔的指定欄位的值。這種資料結構被Mongo的查詢最佳化工具用來對集合中文檔進行快速分類和排序。從形式上講,這些索引按“B-Tree”索引形式來
Time of Update: 2018-12-05
_id索引除了定容量集合外的所有集合,都會自動為_id欄位建立一個索引。這是一個特殊索引並且不能被刪除。該_id索引強制它的關鍵字都是唯一的(除了分區環境下的一些情景)。_id值是恒定不變的。對內嵌關鍵字進行索引(“點標記法”)在Mongodb中,你可以對內嵌文檔的關鍵字進行索引。訪問子文檔的方法被視為點標記法。例如:db.things.ensureIndex({"address.city":
Time of Update: 2018-12-05
後台建立索引預設情況下,建立索引會阻塞資料庫的其他動作。V1.3.2及更高版本提供了後台建立索引的功能。刪除索引刪除指定集合的所有索引:db.collection.dropIndexes();刪除單個索引:db.collection.dropIndex({x: 1, y: -1})不使用輔助函數,直接作為命令來運行:// note: command was "deleteIndexes", not "dropIndexes", before MongoDB v1.3.2// remove
Time of Update: 2018-12-05
首先,mongodb中的索引同MySQL中的很類似,因此很多在MySQL中建立高效索引的技術也適用於mongodb。再者,而且可能更加重要的是,索引最佳化建議也只能到此為止。對於你的應用,最好的索引依賴於幾個重要的因素,包含你期望的查詢種類,讀/寫頻率,甚至系統的剩餘記憶體。這意味著最好的策略就是對資料集準備多套索引配置方案,然後觀察那個表現最好。索引策略這裡有一些建立良好索引的基本原則。建立匹配查詢的索引如果你僅對一個關鍵字查詢,那麼使用單鍵索引就可以了。例如,你可能正在搜尋部落格發布的緩動環
Time of Update: 2018-12-05
Mongodb提供了一個有趣的“多鍵”特性,可以自動對對象的數組值進行索引。標籤就是個好例子。假定你有一篇包含了許多分類標籤的文章:$ dbshell> db.articles.save( { name: "Warm Weather", author: "Steve",tags: ['weather', 'hot', 'record', 'april'] } )> db.articles.find(){"name" : "Warm Weather" , "author" :
Time of Update: 2018-12-05
預設情況下,ensureIndex()是阻塞型操作,並會暫停資料庫上所有進行中的其他動作,直到建立索引完成。但是,在高於或等於版本1.3.2的mongodb中,提供了可選的後台建立索引的選項。要在後台建立索引,增加background:true選項。例如:> db.things.ensureIndex({x:1}, {background:true});> db.things.ensureIndex({name:1}, {background:true, unique:true,..
Time of Update: 2018-12-05
1、常用的命令:help show helpshow dbs show database namesshow collections show collections in current databaseshow users show users in current databaseshow profile
Time of Update: 2018-12-05
合法關鍵字名稱文檔中的關鍵字在命名時需要遵循下面兩個限制條件:"$"字元不能作為關鍵字的第一個字元"."字元不能被用於關鍵字中模式設計(Schema
Time of Update: 2018-12-05
當我們向Mongodb寫資料,它們永遠是以文檔格式插入的。文檔是一種資料結構,類似於JSON,Python 字典,和 Ruby的散列。在這裡,我們多聊聊面向文檔和怎樣向Mongodb插入資料。面向文檔面向文檔的資料庫儲存“文檔”,但是這裡的文檔指的是結構化的文檔 - 該術語可能來自於"XML
Time of Update: 2018-12-05
MongoDB支援2維地理資訊索引。它被設計用來進行腦海中基於位置的查詢,諸如“尋找距離我的位置最近的N個場所”。它還可以高效的處理額外的查詢條件,比如“尋找距離我的位置最近的N個博物館”。為了可以使用這種索引,你需要在你的對象中設定一個欄位,該欄位可以是一個子物件或者前兩個元素為x,y座標的數組(或者y,x-只要一致就行;為了確保一致性,推薦在你的用戶端代碼中使用保持排序的詞典/hashes。)。一些例子:{ loc : [ 50 , 30 ] } //SUGGESTED OPTION{
Time of Update: 2018-12-05
在前面的文章裡,我寫了MongoDB開發入門,並且談了如何在windows下安裝MongoDB資料庫,那麼本篇文章我將介紹如何在Linux作業系統中安裝MongoDB資料庫。 首先,下載MongoDB資料庫,地址:http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz 。下載無論你採用什麼方式吧,你可以wget,你也可以在瀏覽器上下載。下載完畢以後就是解壓壓縮檔了:tar -xvf
Time of Update: 2018-12-05
上篇博文,我們順利的安裝並啟動了Mongo資料庫,那麼這一篇博文我講介紹MongoDB資料庫的開發,具體的細節可以參考MongoDB官方文檔。為了能順利的進行MongoDB資料庫開發,我們需要按照以下步驟進行:1、下載Mongo資料庫驅動程式,呵呵,這個驅動查詢和JDBC驅動是有很大的差別的。 點擊地址 https://github.com/mongodb/mongo-java-driver/downloads 進入MongoDB
Time of Update: 2018-12-05
Mongodb提供了簡單易用的匯出和匯入命令。一、匯出命令的簡介與使用。 MongoDB提供了一個簡單的匯出工具,這個工具位於{MongoDB_HOME}/bin/mongoexport.exe,如(我的mongodb部署在windows作業系統中,在linux中類似):下面介紹一下如何使用mongoexport匯出命令:mongoexport -c gis -d local -o likehua.data其中-c 表示幾何 -d 表示資料庫-o
Time of Update: 2018-12-05
測試條件:Windows+MongoDB 1.8.2先插入測試資料:for(var i=1; i<20; i++){ var num=i%6; db.test.insert({_id:i,name:"user_"+i,age:num});}1.普通分組查詢db.test.group({key:{age:true},initial:{num:0},$reduce:function(doc,prev){prev.num++}});db.runCommand({group:{ns:"
Time of Update: 2018-12-05
測試環境:PHP5.3 + mongo-1.1.4-php5.3vc6ts的php_mongo.dll使用mongostat觀察發現:1.mongostat本身也佔用一個資料庫連接 2.PHP的mongo擴充默使用短串連,類似如此代碼:new