-
搞了两小时才连接上 我用windows装的,就遇到一个坑,服务名无效,原因如下: 创建好目录和配置文件后的下一步操作: 一:"C:\mongodb\bin\mongod.exe" --config "C:\mongodb\mongod.cfg" --install 二:C:\mongodb\bin\mongo.exe (连接数据库) 三:net start MongoDB 然后启动服务就不会错了 以上操作要在在cmd管理员模式下进行。查看全部
-
创建用户角色 createRole查看全部
-
角色权限查看全部
-
创建用户查看全部
-
db.imooc_2.find({x:100}).explain() 能够查看索引的使用情况,查看millis属性,单位毫秒。 用于查看设置索引后,是否起作用。查看全部
-
查看当前数据库的profile状态 db.getProfilingStatus() { "was" : 0, "slowms" : 100 } 查看当前数据库的记录级别 db.getProfilingLevel() 0|1|2 设置当前数据库的profile记录级别 db.setProfilingLevel(0|1|2) was --profile记录级别,0关闭,1记录所有慢查询,2记录所有操作 slowms --慢查询阀值 查看profile文件 db.system.profile.find() { "op" : "query",--操作类型 "ns" : "imooc.system.profile", --查询的命名空间,;databasename.collectionname' "query" : { "query" : { }, --查询条件 "orderby" : { "$natural" : -1 } }, --约束条件 "ntoreturn" : 1, --返回数据条目 "ntoskip" : 0, --跳过的条目 "nscanned" : 1, --扫描的数目含索引 "nscannedObjects" : 1, --扫描的数据数目 "keyUpdates" : 0, -- "numYield" : 0, --其他情况 "lockStats" : { --锁状态 "timeLockedMicros" : { --锁占用时间(毫秒) "r" : NumberLong(82), --读锁 "w" : NumberLong(0) --写锁 }, "timeAcquiringMicros" : { "r" : NumberLong(2), "w" : NumberLong(2) } }, "nreturned" : 1, "responseLength" : 651, --返回长度 "millis" : 0, --查询时间查看全部
-
mongostat 输出部分字段的含义: inserts/query/update/delete: 分别指当前mongodb插入、查询、更新、删除 数量,以每秒计; getmore: MongoDB返回结果时,每次只会返回一定量;当我们继续用find()查询更多数据时,系统就会自动用getmore来获取之后的数据; command: 执行的命令数量; flushes: MongoDB使用虚拟内存映射的方式管理数据,我们在向MongoDB写入或查询数据时,MongoDB会做一次虚拟内存映射,有些数据其实是在硬盘上的;每隔一段时间,MongoDB会把我们写到内存的数据flush到硬盘上;这个数据大的话,会导致mongodb的性能较差; mapped/vsize/res: 与磁盘空间大小有关,申请的内存大小; faults:如果我们查询的数据,没有提前被MongoDB加载到内存中,我们就必须到硬盘上读取,叫做“换页”;如果faults比较高,也会造成性能下降; idx miss: 表示我们的查询没有命中索引的比率;如果很高,说明索引构建有问题,索引不合适或者索引数量不够; qr|qw: 说明MongoDB的写队列或者读队列的情况。我们向MongoDB读写时,这些请求会被放到队列中等待。数量大(几百上千)说明MongoDB处理速度慢或者读写请求太多,性能会下降。 ar|aw: 当前活跃的读写客户端的个数。查看全部
-
2d索引 db.collection.ensureIndex({w:'2d'}) 位置表示方式:经纬度【经度,维度】 取值范围:经度【-180,180】纬度【-90,90】 例如:db.collection.insert({w:[180,90]}) 查询方式: (1)$near查询:查询距离某个点最近的点,默认返回100个最近的点 //db.collection.find({w:{$near:[1,1]}}) //db.collection.find({w:{$near:[1,1],$maxDistance:10}}) (2)$geoWithin查询:查询某个形状内的点 --》形状的表示 a、$box:矩形,使用 {$box:[[<x1>,<y1>],[<x2>,<y2>]]}//第一个坐标代表左边界,第二个右边界 b、$center:圆形 {$center:[[<x1>,<y1>],r]}//r为圆的半径 c、$polygon:多边形 {$polygon:[[<x1>,<y1>],[<x2>,<y2>],[<x3>,<y3>]]}查看全部
-
索引属性查看全部
-
索引属性 unique(唯一)查看全部
-
db.collenction.ensureIndex({param1},{param2})-->param1是索引的值,param2是索引的属性。 重要的索引属性:名字,唯一性,稀疏性,是否定时删除(过期索引)。 db.collenction.ensureIndex({x:1,y:2,z:3},{name="normal_index"}) //指定名字 db.collenction.dropIndex("normal_index") //可用名字代替删除索引查看全部
-
全文索引限制查看全部
-
为了达到在搜索后能够根据内容与搜索条件的相似度进行排序,越相似越前,可以在建立全文索引后使用$meta操作符:{score:{$meta:"textScore"}},textScore为固定字符串,再与sort一起使用。 db.imooc_2.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}}) db.imooc_2.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}});根据score字段排序查看全部
-
全文索引 定义:对字符串与字符串数组创建全文可搜索的索引 适用情况:{author:'',title:'',article:''} 建立方法: db.collection.ensureIndex({key:"text"})//单字段建全文索引 db.collection.ensureIndex({key_1:"text",key_2:"text"})//多字段建全文索引 db.collection.ensureIndex({"$**":"text"})//全部字段建全文索引 使用全文索引进行查询 注意:一个集合只能创建一个全文索引 db.article.find({$text:{$search:"coffee"}}) #查询包含coffee的内容的文档 db.article.find({$text:{$search:"aa bb cc"}}) #(或查询)查询包含aa或bb或cc的内容的文档 db.article.find({$text:{$search:"aa bb -cc"}}) #-为排除包含有cc内容的文档 db.article.find({$text:{$search:'"aa" "bb" "cc"'}}) #(与查询)加查询内容前后用""包含,查询既包含aa又包含bb cc的内容的文档查看全部
-
全文索引创建方法: 与创建单键索引,复合索引类似。value换成'text',$**匹配集合下所有 db.articles.ensureIndex({key:"text"}) db.articles.ensureIndex({key_1:"text"},{key_2:"text"}) db.articles.ensureIndex({"$**":"text"})查看全部
举报
0/150
提交
取消