mongo shell 之索引 -- 2D索引,全文索引
mongodb 不仅可以创建普通索引,还可以创建二维索引, 全文索引等. 在对地图坐标查询时,创建2D索引是相当方便的, 在对文章内容进行查询的时候,创建全文索引是相当方便的.
一 2D 索引:
1.1 创建数据
var index = 0;
for(var i=0; i<=10; i++){
for(var j=0; j<=10; j++){
db.map.insert({_id:index++,gis:{x:10*i,y:10*j}})
}
}
1.2. 创建2d 索引
db.map.ensureIndex({"gis":"2d"},{min:-1,max:101}) //因为我选择的点为(0,0),(100,100), 所以指定所以范围为min:-1, max:101 就行, 也可以不指定
1.3. 查询:
以下的这些查询,如果不创建2d索引的话,是会报错的
1). 查询距离坐标 (70.80) 最近的三个点:
2). 查询以坐标(40,40), (60,60) 为对角线的正方形区域内的所有点:
db.map.find({gis:{$within:{$box:[[40,40],[60,60]]}}}).sort({"gis.x":1})
3). 查询以坐标(50,50) 为圆心,半径为20 的圆形区域内的所有的点
db.map.find({gis:{$within:{$center:[[50,50],20]}}}).sort({"gis.x":1})
二 全文索引
mongodb 3.x 系列已经默认开启了全文索引,直接创建索引,在查询的时候之间查询就行了, mongodb 目前支持20多种语言的全文索引,但是遗憾的是,目前还部支持中文的全文索引.
1. 创建全文索引:
2. 查询索引:
3. 使用全文索引查询:
- 上一篇: mongodb 在windows 下的启动与关闭
- 下一篇:没有了