mongodb——mongo笔记*
为什么80%的码农都做不了架构师?>>>
参考文档:MongoDB 教程 MongoDB 3.4 中文文档
- 客户端驱动版本和服务器驱动版本要一致,要不然会报错误:Connection reset by peer。参考: MongoDB错误和使用总结2013-02-16(持续更新) java.net.SocketException四大异常解决方案
- mongodb添加用户
#管理员root账户
db.createUser({user: "root",pwd: "123456",roles: [ "root", "userAdminAnyDatabase", "userAdmin", "dbOwner" ]})
#ops manager的数据库用户
db.createUser({user: "mongodbms",pwd: "123456",roles: [ "readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterMonitor" ]})
#为test库添加读写权限的用户
db.createUser({user: "user1",pwd: "123456",roles: [ { role: "readWrite", db: "test" } ]
})
注意使用db.auth()时,用户名密码都需要用引号引起来。
mongodb内置角色:Built-In Roles
- mongodb中replica set的主备切换
- 首先排除不需要竞选primary的secondary实例,进入不需要竞选的实例(mongod实例)中,执行如下命令
#冰冻此mongod实例,60秒内不参加内部选举工作
myShard_0:SECONDARY> rs.freeze(60)
- shutdown此rs的primary节点
myShard_0:PRIMARY> rs.stepDown(15)
执行完成之后,会报错重连,此时连接后的状态就是SECONDARY了,等待选出primary节点即可。
参考:mongodb 复制集主节点切换方法
- mongodb中查看每一条记录的执行时间
- 在shard的primary节点中运行
#获得当前profile的设置
db.getProfilingLevel()
#不记录操作耗时
db.setProfilingLevel(0)
#记录慢查询(耗时大于100ms的操作)
db.setProfilingLevel(1)
#记录所有的操作
db.setProfilingLevel(2)
- 运行完成之后,查看操作耗时
#查询耗时大于500的操作
db.system.profile.find({millis:{$gt:500}})
参考:mongodb可以通过profile来监控数据 (mongodb性能优化)
- 从mongo的安装可以知道,mongo命令主要有mongod:启动集群实例,mongos:启动管理客户端连接的实例,mongo:进入mongo的命令行。
- 在mongodb的shard集群中,基于2dsphere,没法在find命令中使用:db.sz_user({loc:{$near:{……}}),这是mongodb的一个bug,会报错:use geoNear command rather than $near query,但是在非shard集群中是可以在find中使用$near。shard集群中使用runCommand是可以的,但是runCommand在高并发时,会停顿几秒,使用db.sz_user.aggregate($geoNear)能解决此问题。所以一句话,在shard集群中,$near没法用,runCommand高并发性能有问题,$geoNear才能完美解决此问题。
参考:MongoDB geospatial query with find() - 如果mongodb集群开启了shard,大量插入数据的时候,有可能trunks分配不是很均衡,但是等集群空闲的时候,会自动均衡所有的trunks。
转载于:https://my.oschina.net/cjun/blog/829692
mongodb——mongo笔记*相关推荐
- MongoDB学习笔记(3)- Mongo Shell 常用查询命令
MongoDB学习笔记(3)- Mongo Shell 常用查询命令 本文所使用的MongoDB版本为 4.0.10 > db.version(); 4.0.10 一.find 命令进行简查询 ...
- MongoDB学习笔记(入门)
MongoDB学习笔记(入门) 一.文档的注意事项: 1. 键值对是有序的,如:{ "name" : "stephen", "genda" ...
- MongoDB学习笔记【2】-- 试用
大部分内容根据MongoDB官方手册整理:http://docs.mongodb.org/manual/contents/ 查看数据库 [root@slayer ~]# mongo MongoDB s ...
- MongoDB学习笔记(一) MongoDB介绍及安装
系列目录 MongoDB学习笔记(一) MongoDB介绍及安装 MongoDB学习笔记(二) 通过samus驱动实现基本数据操作 MongoDB学习笔记(三) 在MVC模式下通过Jq ...
- PHP操作MongoDB学习笔记
PHP操作MongoDB技術總結 <?php /** * PHP操作MongoDB学习笔记 */ //************************* //** 连接MongoDB数据库 ...
- MongoDB学习笔记一:MongoDB的下载和安装
MongoDB学习笔记一:MongoDB的下载和安装 趁着这几天比較空暇,准备学习一下MongoDB数据库.今天就简单的学习了一些MongoDB的下载和安装.并创建了存储MongoDB的数据仓库. 将 ...
- MongoDB 学习笔记八 复制、分片、备份与恢复、监控
MongoDB 学习笔记八 复制.分片.备份与恢复.监控 MongoDB复制(副本集) 什么是复制? MongoDB 复制原理 MongoDB 副本集设置 副本集添加成员 MongoDB 分片 分片 ...
- MongoDB学习笔记~对集合属性的操作
$unset清除元素 请注意在单个数组元素上使用$unset的结果可能与你设想的不一样.其结果只是将元素的值设置为null,而非删除整个元素.要想彻底删除某个数组元素,可以用$pull 和$pop操作 ...
- 非关系型数据库MongoDB学习笔记
MongoDB学习笔记 --周灿 创建数据库 use "databasename" 查看数据库 show dbs 给指定数据库添加集合和插入记录 db.集合名.insert({ ...
- linux下使用Mongodb命令笔记
在工作中使用mongodb时的一些笔记整理. 1.连接mongodb mongo 远程主机ip或DNS:MongoDB端口号/数据库名 -u user -p password e.g.: mongo ...
最新文章
- 不同表结构数据迁移_数据结构:哈希 哈希函数 哈希表
- Linux 学习记录 四(Bash 和 Shell scirpt).
- git仓库相关知识01-安装和基本命令
- Android中的资源复用小技巧
- SAP Analytics Cloud嵌入到SAP Cloud for Customer的效果图
- 这场戏里,到底是谁脏了?
- hibernate h2变mysql_struts2-hibernate-mysql开发案例 -解道Jdon
- 整理Linux查看系统日志的一些经常使用命令
- “解救”外卖骑手,美团首次公开算法规则!
- 初解vue脚手架vue-cli,及demo示例(一)
- 一个小小的抽奖活动测试脚本(python2.7)
- iOS 中 UIView 和 CALayer 的关系
- vue学习-vuex状态
- 联想小新i1000拆机图解_联想小新笔记本拆机解析
- LINUX 下无线网卡 rtl8821CE/rtl8723de 驱动 无法驱动解决办法
- 第一次用idea写SSM框架的项目就遇到自动注入失败的问题
- 开源开放 | 面向家庭常见疾病的知识图谱(东南大学)
- numpy中的ndarray方法和属性
- Excel通过poi设置折线图样式
- html提交成功跳转页面,提交表单后跳转到想要的页面--jQuery form