標籤:刪除 near 舉例 nbsp span 方式 分類 存在 within
1.name屬性
當建立立索引後,可以看到name的屬性值,
當有建立索引是多個屬性時,name之間就會用_隔開,且name值最多128的位元組長度,當用多個屬性值建立索引時,可以重新命名,
直接索引名後邊加上name屬性名稱,刪除時也可以直接使用name來刪除索引。
2.db.tableName.ensureIndex({inserted Index},{unique:true/false})
建立該索引,指定唯一。
插入資料顯示成功,當再次插入資料與之前插入的資料m n 相同時,報錯。
3.稀疏性-----sparse
稀疏性舉例:有一個m索引,新插入資料如果是n:1,那麼m也會為這條資料建立索引,是null,當指定稀疏性後,m就不會為這條資料建立索引。
db.tableName.ensureIndex({inserted index},{sparse:true/false)}
mongdb預設的是不稀疏的,就是會為不存在的欄位創造索引。
好處:不必為不存在的欄位創造索引,減少佔用,增大速度!
先介紹一個東西
{ field: { $exists: <boolean> } }
true 會尋找m的資料 FALSE 尋找不帶m的資料
不能在稀疏索引上尋找這個欄位不存在的記錄,強制指定索引.hint(索引名稱)
強制指定索引後尋找結果為空白。
4.地理位置索引
分類:1.2D索引 存查平面上的點
2.2Dsphere索引 存查球面上得點
方式:1.尋找距離某點一定距離內的點
2.尋找包含在某地區內的點
5.2D索引
db.tableName.ensureIndex({w:2d})
使用經緯度表示位置【經度,緯度】
取值範圍-180<經度<180 -90<緯度<90
插入的點要在範圍,不然會發生不可預知的錯誤。
查詢方式:1.$near 查詢:查詢據某點最近的點 結果是一百個(不管滿不滿足條件)
2.$geoWithin 查詢,查詢某個形狀的點
不支援minDistance
形狀的表示:
1.$box:矩形
{$box:[[<x1>,<y1>],<x2>,<y2>]]}表示 第一個是左邊界,第二個右邊界
2.圓形$center
{$center:[[<x1>,<y1>],r]}表示
3.多邊形 $polygon
{$polygon:[[<x1>,<y1>],[<x2>,<y2>],[<x3>,<y3>]]}
mongodb 索引3