mongodb 中使用 createcollection() 方法來建立集合。
語法格式:
db.createcollection(name, options)
引數說明:options引數:字段
型別描述
bool
(可選)如果為 true,則建立固定集合。固定集合是指有著固定大小的集合,當達到最大值時,它會自動覆蓋最早的文件。當該值為 true 時,必須指定 size 引數。
autoindexid
bool
(可選)如為 true,自動在 _id 字段建立索引。預設為 false。
size
number
maxnumber
(可選)指定固定集合中包含文件的最大數量。
命令示例:
固定集合的訪問模式與其他集合不同,資料被順序寫入磁碟的固定空間。故他們在蝶式磁碟上寫入速度非常快,尤其是集合擁有專用磁碟時。固定集合可用於記錄日誌,儘管他們不夠靈活。雖然可以在建立時指定集合大小,但無法控制什麼時候資料會被覆蓋。
建立固定集合示例:建立大小限制為500g,文件數量限制為1000000000的文件。
建立索引的語法如下:
db.collection.createindex(keys, options)
keys說明:語法中 key 值為你要建立的索引字段,1 為指定按公升序建立索引,-1為按降序來建立索引。createindex()方法中可以設定多個字段建立索引。
options選項說明:
parameter
type
description
background
boolean
建索引過程會阻塞其它資料庫操作,background可指定以後臺方式建立索引,即增加 "background" 可選引數。 background" 預設值為false。
unique
boolean
建立的索引是否唯一。指定為true建立唯一索引。預設值為false.
name
string
索引的名稱。如果未指定,mongodb的通過連線索引的欄位名和排序順序生成乙個索引名稱。
dropdups
boolean
3.0+版本已廢棄。在建立唯一索引時是否刪除重覆記錄,指定 true 建立唯一索引。預設值為 false.
sparse
boolean
對文件中不存在的字段資料不啟用索引;這個引數需要特別注意,如果設定為true的話,在索引欄位中不會查詢出不包含對應欄位的文件.。預設值為 false.
expireafterseconds
integer
指定乙個以秒為單位的數值,完成 ttl設定,設定集合的生存時間。
vindex version
索引的版本號。預設的索引版本取決於mongod建立索引時執行的版本。
weights
document
索引權重值,數值在 1 到 99,999 之間,表示該索引相對於其他索引欄位的得分權重。
default_language
string
對於文字索引,該引數決定了停用詞及詞幹和詞器的規則的列表。 預設為英語
language_override
string
對於文字索引,該引數指定了包含在文件中的欄位名,語言覆蓋預設的language,預設值為 language.
建立索引示例:
> db.city.createindex(,) > > > db.city.getindexes() [ , "name" : "_id_", "ns" : "location.city" }, , "name" : "uni_code_name", "ns" : "location.city", "background" : true, "sparse" : true } ]
建立索引時可以指定一些選項,使用不同選項建立的索引會有不同的行為。mongodb在建立索引時會阻塞所有對資料庫的讀寫請求,直到索引建立完成。如果希望在建立索引的同時可以處理讀寫請求,可以在建立索引時指定background選項。這樣在建立索引時,如果有新的資料庫請求,建立索引的過程會暫停,但任然對應用程式的效能有較大影響。
唯一索引可以確保集合的每乙個文件的指定鍵都是唯一的。
如果乙個文件沒有對應的鍵,索引會將其作為null儲存,故如果某個鍵建立了唯一索引,但插入了多個缺少該索引鍵的文件,由於集合已經存在乙個該索引鍵的值為null的文件而導致插入失敗。
索引儲存桶的大小時有限制的,如果某個索引條目超出了它的限制,那麼這個條目就不會包含在索引中。這將導致通過索引查詢文件時會丟失文件。所有欄位都必須小於1024位元組才能包含到索引中,如果乙個文件的字段由於太大不能包含在索引裡,mongodb不會返回任何錯誤或警告。
建立唯一索引示例:
> db.city.createindex(,)
唯一索引會把null看做值,所以無法將多個缺少唯一索引中的鍵的文件插入到集合中。然而,在一些情況下,你可能希望唯一索引只對包含相應鍵的文件生效。如果有乙個可能存在也有可能不存在的字段,當其存在時必須唯一,這是可將unique和sparse選擇組合一起使用。稀疏索引不必是唯一的。只要去掉unique選項,就可以建立乙個非唯一的稀疏索引。
ttl索引允許為每個文件設定乙個超時時間,乙個文件達到預設的過期時間後就會被刪除,ttl索引對快取問題非常有用。建立索引時指定expireaftersecs就可建立乙個ttl索引。
mongodb沒分鐘會對ttl索引進行一次清理,所以不應該以秒為單位的時間保證索引的存活狀態。乙個給定的集合上可以有多個ttl索引,但ttl索引不能是復合索引,但可以像普通索引一樣用來優化排序和查詢。
操作頻繁的集合上建立全文本索引可能會導致mongodb過載,所以應該在離線狀態下建立全文本索引,或是在對效能無要求時,建立全文索引會占用很多記憶體。全文本索引的集合的寫入效能比較差,其也會降低分片時的資料遷移速度,因將資料遷移到其他分片時,所有文字需重建索引。
mongodb支援2dsphere(球面型別地圖)索引和2d索引(平面地圖和時間連續)。2dsphere允許使用geojson格式指定點、線和多邊形。
建立地理空間索引示例:
db.city.ensureindex(})
2.2.5.1、地理空間查詢
mongodb的地理空間查詢支援交集、包含、接近查詢,需要將希望查詢的內容指定為形如的格式。
交集查詢:
可以使用$geointersects操作符找出與查詢位置相交的文件。
包含查詢:
可以使用$within查詢完全包含在某個區域的文件。
clipboard.png
接近查詢:
使用$near查詢附近的位置,$near是唯一乙個會對查詢結果進行自動排序的地理空間操作,其返回結果是按照距離由近及遠排序的。
clipboard.png
mongod將MongoDB設定為系統服務自啟
mongod安裝為系統服務開機自啟 配置 1.在安裝的根目錄下 跟bin同級 新建資料夾data,在data資料夾下新建db資料夾用作為資料庫目錄 進入mongodb的bin目錄下開啟cmd輸入 mongod dbpath c program files mongodb win32 x86 64 2...
Haproxy示例之訪問內網mongoDB
haproxy示例之訪問內網mongodb 請參考官方doc usr share doc haproxy 1.4.24 環境 centos6.5 x64 haproxy 1.4.24 一.安裝haproxy yum y install haproxy 二.配置haproxy 說明 172.16.0....
python爬蟲之win7Mongod安裝使用
安裝路徑 還需要建立乙個資料庫儲存位置c mongodb data db 2 新增環境變數,然後開啟cmd執行如下命令告訴資料庫資料儲存位置。mongod dbpath c mongodb data db 然後測試一下是否成功 執行上面的命令時候的cmd對話方塊先不要關閉,然後再開啟乙個cmd框輸入...