索引就是用來加速查詢的。資料庫索引與書籍的索引類似:有了索引就不需要翻遍整本書,資料庫則可以直接在索引中查詢,使得查詢速度能提高幾個數量級。在索引中找到條目以後,就可以直接跳轉到目標文件的位置。
一、建立索引 --- ensureindex()
語法結構:
db.collection.ensureindex(keys[,options])
keys,要建立索引的引數列表。如:,其中key表示欄位名,1表示公升序排序,-1表示降序排序options,可選引數background,boolean,在後台建立索引,以便建立索引時不阻止其他資料庫活動,預設falseunique,boolean,建立的索引是否唯一,指定為true建立唯一索引,預設falsename,string,指定索引的名稱,如果未指定,根據連線索引的欄位名和排序順序生成乙個索引名稱dropdups,boolean,在建立唯一索引時是否刪除反覆記錄,指定 true 建立唯一索引。預設值為 falsesparse,boolean,對文件中不存在的字段資料不啟用索引。這個引數須要特別注意。假設設定為true的話,在索引欄位中不會查詢出不包括相應欄位的文件.。預設值為 falseexpireafterseconds,integer,指定乙個以秒為單位的數值,完畢ttl設定,設定集合的生成時間v,index version,索引的版本號號。預設的索引版本號取決於mongod建立索引時執行的版本號weights,document,索引權重值。數值在 1 到 99,999 之間,表示該索引相對於其它索引欄位的得分權重。default_language,string,對於文字索引。該引數決定了停用詞及詞幹和詞器的規則的列表。 默覺得英語language_override,string,對於文字索引。該引數指定了包括在文件中的欄位名。語言覆蓋預設的language,預設值為 language.
1、建立索引
db.person.ensureindex()
2、建立唯一索引
db.person.ensureindex(,)
二、重建索引 --- reindex()
db.person.reindex()
三、檢視索引 --- getindexes()
1、檢視集合中的索引
dp.person.getindexes()
2、檢視集合中的索引大小
db.person.totalindexsize()
3、檢視索引相關資訊
dp.person.starts()
4、檢視資料庫中所有索引
db.system.indexes.find()
5、檢視查詢使用索引的情況
db.person.find(name:"jack55555").explain()
四、刪除索引 --- dropindex()
1、刪除指定的索引
db.person.dropindex("name_1")
2、刪除所有索引
db.person.dropindexes()
MongoDB 資料庫操作
1 插入記錄 使用資料庫 如果沒有該資料庫就會建立,有就進入該模式 use use my testdb 插入資料 db.user.insert db.user.insert 顯示資料庫 show dbs my mongodb是隱式建立的資料庫 顯示表 show collections user是隱式...
java 操作MongoDB資料庫
建立了乙個mongodb的資料庫連線物件,它預設連線到當前機器的localhost位址,埠是27017 mongo mongo new mongo mongo mongo new mongo 127.0.0.1 27017 for string name mongo.getdatabasenames...
mongodb資料庫基本操作
一般來說,涉及到mongodb的操作主要有四種 增刪查改。nodejs可以很方便簡潔的實現這些操作。準備工作 連線mongodb伺服器 var server new mongodb.server localhost 27017,這裡server就指本地 localhost 的伺服器 連線伺服器上的資...