随笔分类 - mongodb
摘要:除了之前介绍的角色之外,mongodb提供了很多种用户角色 1、数据库角色(read,readWrite,dbAdmin,dbOwner,userAdmin) 2、集群角色(clusterAdmin,clusterManager...) 3、备份角色(backup,restore...) 用作数据的
阅读全文
摘要:系统不管设计的多么完善,总有一些漏洞在里面 mongodb安全概览 1、最安全的时物理隔离:不现实 通过任何手段都不能连接我们的主机,只有一些重要的数据,会物理隔离到机房中 2、网络隔离:比较安全,无法碰到漏洞,即使有漏洞,也不会有机会利用它 我们知道很多公司,他们的开发机,测试机,都在自己的内网环
阅读全文
摘要:> db.imooc_2.find({x:1}).explain() { "queryPlanner" : { "plannerVersion" : 1, "namespace" : "test.imooc_2", "indexFilterSet" : false, "parsedQuery" :
阅读全文
摘要:mongodb的日志与profile相似,在启动mongod时 可以用verbose这个参数配置他的日志详细程度,分为一个v到5个v,其中v越多,详细度越高 mogod.conf port = 12345 dbpath = data logpath = log/mongod.log verbose
阅读全文
摘要:profile集合是mongodb的慢操作日志 > db.getProfilingStatus() { "was" : 0, "slowms" : 100, "sampleRate" : 1 } 可以通过getProfilingStatus来查看当前profile设置 可以通过getProfilin
阅读全文
摘要:mongostat是mongodb自带的一个用来查看mongodb运行状态的工具 使用说明 mongostat -h 127.0.0.1:12345 字段说明 启用后的状况是这样的 insert query update delete getmore command dirty used flush
阅读全文
摘要:索引并不是一个有利无害的东西 好处:加快与索引相关的查询 坏处:增加磁盘空间消耗,降低写入性能 在建立索引后,坏处不是特别明显的话,是可以接受的。但是有些情况下,建立索引,发现磁盘空间消耗比较明显,但是不知道索引创建是否合理,这样就弊大于利,所以需要知道如何评判当前索引的构建情况,有四种不同的方法做
阅读全文
摘要:概念:球面地理位置索引 创建方式: db.collection.ensureIndex({w:'2dsphere'}) wdspere中,位置的表示方式不再是简单的经度,纬度,数组,而是变成一种复杂的表示geoJSON的表示方式 GeoJSON:描述一个点,一条直线,多边形等形状。 格式 {type
阅读全文
摘要:geoNear查询可以看作是near查询点进化版 geoNear查询使用runCommand命令进行使用,常用使用如下: db.runCommand({ geoNear:<collection>, near:[x,y], minDistance:(对2d索引无效,对2dsphere有效), maxD
阅读全文
摘要:$geoWithin查询 形状的表示 1、$box:矩形,使用 {$box:[[<x1>,<y1>],[<x2>,<y2>]]}表示 都是坐标,第一个坐标表示矩形的左边界,第二个坐标表示矩形的右边界 2、$center:圆形,使用 {$center:[[<x1>,<y1>],r]} 第一个表示圆心位
阅读全文
摘要:地址位置索引:将一些点的位置存储在mongodb中,创建索引后,可以按照位置来查找其他点 子分类: 1、2d索引:平面地理位置索引,用于存储和查找平面上的点。 2、2dsphere索引:球面地理位置索引,用于存储和查找球面上的点。 查找方式: 1、查找距离某个点一定距离内的点。 2、查找包含在某区域
阅读全文
摘要:名字 db.collection.ensureIndex({},{name:''}) 在创建索引时,mongodb会自己给索引创建默认的名字,这种名字并不好记,我们看一下mongodb是怎么给自己命名的 唯一性: 第二个属性,是索引的唯一性 db.collection.ensureIndex({},
阅读全文
摘要:比较重要的属性有: 名字 db.collection.ensureIndex({},{name:''}) 在创建索引时,mongodb会自己给索引创建默认的名字,这种名字并不好记,我们看一下mongodb是怎么给自己命名的 唯一性: 第二个属性,是索引的唯一性 db.collection.ensur
阅读全文
摘要:创建索引时的格式: db.collection.ensureIndex({param},{param}) 其中,第一个是索引的值,之前一直只用到了第一个,第二个参数便是索引的属性 比较重要的属性有: 名字 db.collection.ensureIndex({},{name:''}) 在创建索引时,
阅读全文
摘要:全文索引非常强大,但是同样存在很多限制,我们来看以下去全文索引的使用限制: 1、每次查询,只能指定一个$text查询 2、$text查询不能出现在$nor查询中 之前没有接触过$nor查询,$nor查询是用来排除某些查询,排除某些条件 3、查询中如果包含了$text,hint不再起作用 hint可以
阅读全文
摘要:我们在百度搜索中,可以看到与自己搜索度内容越相关度,排在越前面,这个需求可以在mongodb中很简单度实现,mongodb的全文索引不仅可以返回相匹配的查询结果,而且可以告诉你查询结果与你的查询条件多么的匹配 全文索引相似度: $meta操作符:{score:{$meta:'textScore'}}
阅读全文
摘要:全文索引,也叫文本索引,平时,我们百度的搜索,比如api文档的搜索,这种全局的索引就可以使用全文索引实现 全文索引:对字符串与字符串数组创建全文可搜索对索引 使用情况:比如有一个数据集合,存储了用户的文章,用以下的数据结构存储,{author:'',title:'',article:''},这个数据
阅读全文
摘要:过期索引,指的是一段时间后会过期的索引,在索引过期后,相应的数据会被删除,这适合存储一些在一段时间之后会失效的数据,比如用户的登录信息,想要用户登录信息2天后失效,需要用户重新登录,或者存储的日志,希望这些日志在一段时间后删除 建立方法 > db.test2.ensureIndex({time:1}
阅读全文
摘要:当我们的查询条件不只有一个时,就需要建立复合索引,比如插入一条{x:1,y:2,z:3}记录,按照我们之前建立的x为1的索引,可是使用x查询,现在想按照x与y的值查询,就需要创建如下的索引 创建复合索引 > db.test2.ensureIndex({x:1,y:1}) { "createdColl
阅读全文
摘要:多健索引与单键索引创建形式相同,区别在于字段的值,单键索引,顾名思义,他的值为一个单一的值,例如字符串,数字或者日期,而多健索引,他的值具有多个记录,例如一个数组,两者建立方式类似 增加一条数组记录 > db.test2.insert({x:[1,2,3,4,5]}) WriteResult({ "
阅读全文