Mongodb的索引使用

背景

默认情况下,创建索引将阻止数据库上的所有其他操作。在集合上构建索引时,保存集合的数据库对于读取或写入操作是不可用的,直到索引构建完成。

原文https://www.cnblogs.com/keme/p/11004955.html
link

对于可能需要长时间运行的索引创建操作,可以考虑 background 选项,这样MongoDB数据库在索引创建期间仍然是可用的。例如,在 people 集合的 zipcode 键上创建一个索引,这个过程在后台运行,可以使用如下方式:
db.people.createIndex( { zipcode: 1}, {background: true} )
默认 MongoDB 索引创建的 background 是 false
索引优化: db.test.find({“id”:100}).explain()

创建一个索引
db.test.createIndex( {age:1} )
{
    "createdCollectionAutomatically" : false,
    "numIndexesBefore" : 1,
    "numIndexesAfter" : 2,
    "ok" : 1
}
 
# 得到集合的所有索引
> db.test.getIndexes()
再次查看执行计划
db.test.find({"age":{ $lt: 20 }}).explain()

删除索引
db.test.dropIndex( {age:1} )
{ "nIndexesWas" : 2, "ok" : 1 }

在这里插入图片描述

mongoexport
 导出test库下的test集合中 ,条件为 age 大于等于17 并且小于等于20 ,导出文件为test.json
 mongoexport -h 10.0.0.160:27017 -d test -c test -o test.json -q '{"age" : {$gte:17,$lte:20}}'
# 查看导出的内容
 cat test.json

本文说明,主要技术内容来自互联网技术大佬的分享,还有一些自我的加工(仅仅起到注释说明的作用)。如有相关疑问,请留言,将确认之后,执行侵权必删

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值