![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mongodb
打不死的IT小强
做一个纯粹的IT人
展开
-
mongodb笔记之--副本集相关概念
选举机制当一个备份节点无法与主节点连通时,它就会联系其他的副本集成员将自己选举为主节点。其他成员会做几项合理性的检查:自身是否能够与主节点连通?希望被选举为主节点的备份节点的数据是否最新?有没有其他更高优先级的成员可以被选举为主节点?如果被要求被选举为主节点的成员能够得到副本集中"大多数"成员的投票,它就会成为主节点。选择仲裁者Mongodb支持一种特殊类型的成员,称为仲裁者(arbiter).作用仲裁者的唯一作用就是参与选举。仲裁者并不保存数据,也不会为客户端提供服务. 它只是为了帮原创 2020-06-14 21:43:06 · 322 阅读 · 0 评论 -
mongodb笔记之---journal文件
journal文件作用:journal文件在MongoDB中的作用相当于redo日志文件在oracle中的作用,它可以在即使服务器意外宕机的情况下,将数据库操作进行重演。在64位的机器上,2.0以上版本默认是开启了journal的,但是在32位机器上,或者2.0以下的版本中,默认是不开启journal的。所以在我的安装了2.4.3版本的32位机器上,每次启动mongodb都提示“warning: 32-bit servers don’t have journaling enabled by defa原创 2020-06-11 23:14:32 · 2305 阅读 · 0 评论 -
mongodb笔记之--数据安全
参考源:参考来源MongoDB的数据安全包括以下几个概念:1.恢复日志(Journal)2.写关注(也叫写安全机制)(Write Concern)Journal目的:用来解决因为系统掉电或者崩溃导致内存数据丢失问题的一种日志在MongoDB 2.0之前,Journal没有被支持或者不是一个默认开的选项简单来说,数据在写入内存之后即刻返回给应用程序。而数据刷盘动作则在后台由操作系统来进行。MongoDB会每隔60秒强制把数据刷到磁盘上。那么大家可以想象得到,如果这个时候发生了系统崩溃或者掉电,原创 2020-06-11 16:10:50 · 348 阅读 · 0 评论 -
mongodb笔记之--索引大纲
索引的作用:与关系型数据库一样,Mongodb中的索引也是用来加快查询速度的。索引的本质:索引的本质其实就是某个字段或某几个字段的值,并根据字段值进行了排序索引的种类1.默认的_IDmongodb的每个集合都有一个_id字段,在这个字段上默认就存在索引了。2.单键索引db.collectionName.createIndex({name:1});//姓名字段上创建索引3.复合索引对多个字段创建联合索引db.collectionName.createIndex({name:1,age:-1原创 2020-06-11 11:30:50 · 182 阅读 · 0 评论 -
mongo笔记之备份
1.停掉服务器 然后备份 Mongodb将所有数据都存放在”数据目录(data/db)”下,启动mongoDB时可以用–dbpath指定我们自己设置的数据存储目录 备份: 只需要创建数据存储目录的副本就可以了,直接copy一份。 恢复: 在MongoDB启动时用 –dbpath指定数据存储目录副本的位置。 2.不停服务器 直接备份 2.1使用mongodump和mong原创 2015-06-29 21:52:09 · 408 阅读 · 0 评论 -
mongodb异常:Unclean shutdown detected
MongoDB:Unclean shutdown detected 解决办法 1、没有指定数据存储的文件夹的时候 mongod−repair2、有指定数据存储的文件夹的时候: mongod -repair 2、有指定数据存储的文件夹的时候: mongod -repair /data/mongodb/db原创 2015-07-16 15:53:06 · 1000 阅读 · 0 评论 -
mongodb笔记之update
1.格式: db.test.update({},{},true/false,true/false); 参数1:表示查询条件 参数2:表示执行的更新操作 参数3:表示在查询不到指定数据的情况下,以参数1和参数2为数据执行插入 true–可以执行插入,false—不可执行插入 参数4:表示是否更新所有的匹配的文档,true–执行全部更新,false–只更新原创 2015-06-09 21:30:25 · 635 阅读 · 0 评论 -
mongo与Java之aggregate
使用aggregate实现分组功能: –脚本db.wx_local_group_count_day.aggregate({"\$match":{"_id.name":{\$in:["坂田", "南湾", "平湖", "龙岗", "横岗", "龙城", "坪地", "布吉"]}, "_id.updateTime":{\$gte:"2015-06-01",\$lte:"201原创 2015-06-14 10:03:56 · 1451 阅读 · 1 评论 -
mongo与Java之Mapreduce
1.脚本db.runCommand({ mapreduce: "wx_local_user_group", map : function Map() { var bindsum=0,xzsum=0; if(this.bindFlag==1) bindsum = 1; if(this.subscribeFlag==1) xzsum = 1;原创 2015-06-14 10:23:28 · 1137 阅读 · 0 评论 -
mongodb笔记之查询
格式: db.test.find({查询条件},{指定返回值});1.查user集合中所有记录 db.user.find();2.通过指定条件查 db.user.find({“uname”:”zhangsan”});–查uname为zhangsan的记录 3.条件操作符 大于—–$gt 小于—–$lt 大于等于-$gte 小于等于原创 2015-06-14 09:42:23 · 416 阅读 · 0 评论 -
mongodb笔记之数组
1.数组的增 1.1 $push 会向已有的数组中插入一个元素,如果数组不存在 则会自动创建数组 db.test.update({name:lisi},{“$push”:{“arrName”:{name:”zhangsan”,age:12}}}); –向arrName数组中添加一个元素{name:”zhangsan”,age:12}.1.2 $each原创 2015-06-09 21:44:44 · 467 阅读 · 0 评论 -
mongo笔记之-导入导出
一.导出 Mongodb中的mongoexport工具可以把一个 collection导出成JSON格式或者CSV格式的文件. 可以通过参数指定导出的数据项,也可以根据指定的条件导出数据.运行:mongoexport –help 获取详细的参数用法.D:\mongodb\bin>mongoexport --help参数说明: -h:指明数据库宿主机的IP -u原创 2015-06-29 22:19:43 · 612 阅读 · 0 评论 -
mongo笔记之监控(使用mongotop和mongostat)
1.使用mongostat(参考:http://www.2cto.com/database/201302/191013.html) mongostat是mongdb自带的状态检测工具,在命令行下使用. 它会间隔固定时间获取mongodb的当前运行状态,并输出 如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态 使用方式原创 2015-06-29 20:58:34 · 780 阅读 · 0 评论