千家信息网

mongodb中索引分类是怎样的以及如何创建索引

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,mongodb中索引分类是怎样的以及如何创建索引,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。学习索引分类和创建索引:1._id索引 大
千家信息网最后更新 2026年11月01日mongodb中索引分类是怎样的以及如何创建索引

mongodb中索引分类是怎样的以及如何创建索引,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

学习索引分类和创建索引:
1._id索引 大多数集合默认的索引
2.单键索引:手动创建,一个单一的值
3.多建索引:组合函数
4.复合索引 :最左前缀原则
5.过期索引 :一定时间内失效,注意点:必须是isodate或者其数组,不要使用时间戳,否则不会被自动删除。
6.全文索引 db.tm.ensureindex({"article":"text"}),db.tm.ensureindex({"key1":"text","key2":"text"}),db.tm.ensureindex({$**:"text"})
查询:db.tm.find({$text:{$search:"aa"}})
db.tm.find({$text:{$search:"aa bb cc "}})
db.tm.find({$text:{$search:"aa bb -cc"}})
db.tm.find({$text:{$search:"\"a\"\"bb"\"cc\""}})
全文索引的匹配度$meta
db.tm.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}})
db.tm.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}})
每次只能指定$text
7.地理位置索引(滴滴打车,大众点评)


2d索引(地址位置索引)
db.localtion.ensureindex({"w":"2d"})

查看索引:db.tm.getIndexes()
建索引db.t1.ensureIndex({x:1})
多键索引db.tm.ensureIndex({x:[1,2,3,4,5]})
复合索引 db.tm.ensureIndex({x:1,y:1})
删除索引db.tm.dropIndex("x_1_y_1")
db.tm.find({x:100,y:100}).explain()
过期索引:db.tm.insert({time:new Date()}) ISOdate 就是当前时间
db.tm.ensureIndex({time:1},{expireAfterSeconds:10})
db.tm.insert({time:new Date(),z:1})
全文索引
db.t1.ensureIndex({article:"text"})
db.t1.insert({article:"aa bb cc"})
查找db.t1.find({$text:{$search:"aa"}})
db.t1.find({$text:{$search:"aa bb cc"}})或关系
db.t1.find({$text:{$search:"aa bb -cc"}})不包含CC
db.t1.find({$text:{$search:"\"aa\"\" bb\"\" -cc\""}})且的关系


全文索引的相似度:db.t1.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}})
db.t1.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}})



索引命名
db.t1.ensureIndex({x:1,y:2,z:2},{name:"xyz"})
db.t1.dropIndex("xyz")
创建唯一索引
db.t2.ensureIndex({m:1,n:1},{unique:true})

查看s索引存在某个字段

db.abc.find({m:{$exists:true}})

创建2d索引:平面地理位置索引,位置表示方式,经纬度[经度(-180,180),纬度(-90,90)]
db.location.ensureIndex({"w":"2d"})
db.location.insert({w:[1,1]})
db.location.insert({w:[1,2]})
db.location.insert({w:[3,2]})
db.location.insert({w:[32,22]})
db.location.insert({w:[100,90]})
就近查询
db.location.find({w:{$near:[1,1]}})

查询
db.location.find({w:{$near:[1,1],$maxDistance:10}})

地址位置索引
geoNear
db.runCommand({geoNear:"location",near:[1,2],maxDistance:10,num:1})
db.stats

for(i=1;i<10000;i++)db.tt.insert({n:i})

查看运行状态
/export/mongodb/bin/mongostat -h 192.168.1.70:22222
faults locked idx miss没有使用索引值
qr|qw读写队列


查看当前级别
db.getProfilingStatus()
0:profile为关闭,mongodb不会记录任何操作
1配合slowms使用,mongodb会记录任何超过slowms的操作
2会记录任何记录
修改级别profile
db.setProfilingLevel(0)
db.system.profile.find().sort({$natural:1}).limit(10)
查询排序

db.system.indexes.find().sort({$nature:1})

看完上述内容,你们掌握mongodb中索引分类是怎样的以及如何创建索引的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

索引 位置 全文 查询 分类 时间 内容 地址 地理 地理位置 方法 更多 级别 问题 相似 束手无策 为此 函数 前缀 单键 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技企业和互联网企业 没上市的科技互联网公司 安徽鑫晟辉互联网科技 广州善班互联网科技 郑州华宇互联网科技 互联网科技视频素材 海南购全球互联网科技 海南科技产业互联网平台 欧洲十大科技互联网公司 成都互联网科技公司100强 移动互联网科技股 互联网科技扶贫时间 乌鲁木齐新华智原互联网科技学校 朱啸虎曾投资哪些互联网科技企业 南通创西澳互联网科技有限公司 产业互联网科技服务公司 广州百诚互联网科技有限公司官网 广州智享互联网科技 互联网科技职业技能培训学校 利用互联网等科技手段 成都互联网科技公司 创业天下互联网科技有限公司 现代互联网科技股 宁夏科技产业互联网案例 移动互联网科技公司 洛阳昕诺飞互联网科技有限公司 中科明德北京互联网科技 萌小萌互联网科技河南有限公司 互联网高科技行业有哪些企业 互联网科技企业商标注意事项
0