首页
学习
活动
专区
工具
TVP
发布

乐沙弥的世界

专栏作者
666
文章
956678
阅读量
48
订阅数
MongoDB 写安全(Write Concern)
1、write concern用于控制写入安全的级别,可以分为应答式写入以及非应答式写入 2、write concern是一个性能和数据强一致性的权衡,应根据业务场景进行设定 3、对于强一致性场景,建议w>1或者等于majority,以及journal为true,否则w=0 4、在副本集的情形下,建议通过配置文件来修改w以及设置wtimeout,以避免由于某个节点挂起导致无法应答
Leshami
2018-09-20
2.9K0
Linux下快速安装MongoDB
    Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。本文介绍了如何快速安装mongodb供大家参考。 一、安装配置mongodb Step 1: 设置系统环境及确保缺省端口27107可用 ###当前环境 # cat /etc/issue Red Hat Enterprise Linux Server release 6.5 (Santiago) # vi /etc/selinux/config SELINUX=disabled Step 2: 下载安装文件 下载地址: https://www.mongodb.org/downloads.  或者直接在命令提示符下使用curl命令下载 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz Step 3: 解压下载的文件 # pwd /usr/local/src # tar -xvf mongodb-linux-x86_64-rhel62-3.0.6.gz  ###注,本文直接从网站下载,所以文件为.gz Step 4: 复制解压文件到运行目录 # mkdir -p /var/lib/mongodb # cp -R -n /usr/local/src/mongodb-linux-x86_64-rhel62-3.0.6/. /var/lib/mongodb/ Step 5: 设置环境变量 e.g. export PATH=<mongodb-install-directory>/bin:$PATH # vi ~/.bash_profile  export PATH=/var/lib/mongodb/bin:$PATH # source ~/.bash_profile Step 6: 创建数据目录 # mkdir -p /data/mongodata 二、启动及验证mongodb ###启动mongo # mongod --dbpath /data/mongodata ###以下内容为启动后输出的相关信息 2015-10-28T10:03:33.100+0800 I JOURNAL  [initandlisten] journal dir=/data/mongodata/journal 2015-10-28T10:03:33.101+0800 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed 2015-10-28T10:03:33.264+0800 I JOURNAL  [initandlisten] preallocateIsFaster=true 2.18 2015-10-28T10:03:33.398+0800 I JOURNAL  [durability] Durability thread started 2015-10-28T10:03:33.398+0800 I JOURNAL  [journal writer] Journal writer thread started 2015-10-28T10:03:33.401+0800 I CONTROL  [initandlisten] MongoDB starting : pid=10191 port=27017 dbpath=/data/mongodata 64-bit host=java_2 2015-10-28T10:03:33.401+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2015-10-28T10:03:33.401+0800 I CONTROL  [initandlisten]  2015-10-28T10:03:33.402+0800 I CONTROL  [initandlisten]  2015-10-28T10:03:33.402+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2015-10-28T10:03:33.
Leshami
2018-08-13
1.1K0
mongo shell连接到mongoDB及shell提示符下执行js脚本
同mysql数据库类似,mongoDB也可通过mongo客户端连接到mongod服务器来进行绝大多数日常管理。这个命令行工具就是mongo,在mysql中则是mysql。通过mongo命令可以连接到本机,异机,以及在linux shell或者mongo shell下执行js脚本。本文即是对此展开的描述。 一、mongo客户端连接到mongoDB //mongo连接格式 $ mongo some-host:30000/myDB //连接到本机缺省端口,缺省数据库test C:\Users\Think
Leshami
2018-08-13
2.1K0
BSON及mongoDB数据类型
//字符型,存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的
Leshami
2018-08-13
1.3K0
mongoDB 定长集合(capped collection)
大多数情况下,mongoDB中都是普通的集合,这些集合也称为动态集合,可以自动增长以容纳更多的数据。但这并不适合所有的场景。比如需要保存应用程序的某一个时间段日志,对于历史日志需要定期老化。这种情形下,定长集合就派上了用场。本文描述了定长集合的特性以及给出相关演示。 一、定长集合的特性 需要事先创建,创建时指定大小,即大小固定,后续不可以随意改变 新文档被插入到队列末尾 使用循环的方式老化最老的文档,即不支持从定长集合手动删除文档 数据被顺序写入到磁盘上的固定空间 固定集合不能被分片 由于覆盖特性,
Leshami
2018-08-13
8280
快速体验mongoDB分片
1、mongodb分片的实质是将数据分散到不同的物理机器,以分散IO,提供并发与吞吐量 2、mongodb分片依赖于片键,即任意一个需要开启的集合都需要创建索引 3、开启分片的集合需要首先在DB级别启用库级分片 4、mongodb的分片由分片服务器,配置服务器以及路由服务器组成 5、基于分片可以结合副本集(replicate set)来实现高可用
Leshami
2018-08-13
9390
mongoDB 启动与停止
参考: Linux下快速安装MongoDB Windows平台下安装MongoDB
Leshami
2018-08-13
2.9K0
MongoDB执行计划获取(db.collection.explain())
在RDBMS中,无论那种数据库,都提供了SQL剖析工具,用来解决SQL效率低下的问题。在MongoDB中,也有相应的策略来实现剖析。MongoDB提供了db.collection.explain()方法, cursor.explain()方法,和explain命令去返回查询计划信息和查询计划的执行统计信息。这为我们诊断查询提供了极大的便利,本文主要描述db.collection.explain()的相关用法。 一、db.collection.explain()简介 支持下列操作返回查询计划
Leshami
2018-08-13
1.4K0
CentOS 7 yum方式快速安装MongoDB
MongoDB是深受广大开源爱好者支持和研究的NoSQL数据库之一,它基于灵活的JSON文档方式,非常适合敏捷开发,其高可用功能强大,支持水平扩展等众多关键特性。一如其简约而不简单的MySQL一样,安装起来也非常方便,支持源码编译安装,rpm安装以及yum安装等众多方式。本文主要讲述在CentOS 7下yum方式快速安装MongoDB。 一、安装环境及配置yum # more /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # vi
Leshami
2018-08-13
3950
mongoDB 文档删除
mongoDB文档删除等同于关系型数据库中删除满足条件的单条或者多条记录,通常使用db.collection.remove()方法来实现文档的删除动作。mongDB文档删除属于原子性操作,仅仅在仅仅在单个文档级别。本文描述mongoDB文档删除操作并给出示例。 预备热身 Linux下快速安装MongoDB Windows平台下安装MongoDB mongoDB 启动与停止 mongo shell连接到mongoDB及shell提示符下执行js脚本 mongoDB简介及关键特性
Leshami
2018-08-13
1.5K0
mongoDB 文档更新
1、mongoDB文档更新有很多个不同的方法,传统的update,以及3.2版本之后的updateOne,updateMany 2、mongoDB文档替换也有很多个不通的方法,传统的update,以及3.2版本之后的replaceOnye,replaceMany 3、updateOne与updateMany是对update方法的扩展,update方法可以通过multi值为true或false来等同于updateMany以及updateOne 4、replaceOne与replaceMany也是对update方法的扩展,update方法可以通过multi值为true或false来等同于replaceMany以及replaceOne
Leshami
2018-08-13
1.6K0
mongoDB 文档查询
1、文档查询db.users.find()等价于db.users.find( {} ) 2、基于and运算符的多个组合条件可以省略and运算符的多个组合条件可以省略and,直接将条件组合即可 3、对于$and运算符内的条件,用[]括起来,相当于数组形式 4、对于数组查询,可以使用基于下标的方式精确配置特定的元素值 5、对于内嵌文档,可以使用”文档键.内嵌文档键”方式进行访问 6、对于数组内内嵌文档的方式,可以使用”数组名.下标.内嵌文档键”方式访问 7、对于哪些列名需要显示可以通过{ field1: <0|1>, … }来设定 8、本文参考:https://docs.mongodb.com/manual/tutorial/query-documents/
Leshami
2018-08-13
3.1K0
mongoDB 文档插入
db.collection.insertOne(obj, ) 插入单个文档到一个集合(3.2版本有效),可选参数为w, wtimeout db.collection.insertMany( [objects], ) 插入多个文档到一个集合(3.2版本有效),可选参数为w, wtimeout db.collection.insert(obj) 传统的插入方式
Leshami
2018-08-13
9440
mongoDB CRUD特性介绍
1、本文简要描述了mongoDB的CRUD的常规操作,并给出了示例演示 2、CRUD基本上等同于SQL数据库的增删改查 3、每一个操作都有更详细以及更丰富的用法,具体可参考官方文档
Leshami
2018-08-13
4610
mongoDB简介及关键特性
mongoDB是一个介于关系数据库和非关系数据库之间的开源产品,是最接近于关系型数据库的NoSQL数据库。它在轻量级JSON交换基础之上进行了扩展,即称为BSON的方式来描述其无结构化的数据类型。尽管如此它同样可以存储较为复杂的数据类型。本文对其进行简要描述以及列出其关键特性。 一、什么是mongoDB 开源的NoSQL数据库 用于存储非结构化数据 SQL中的绝大多数操作有对应的方式来实现 采用BSON描述数据类型 二、有哪些逻辑概念 mongoDB与S
Leshami
2018-08-13
1.7K0
SQL与mongoDB对比及映射
mongoDB是最接近与关系型数据库的开源NoSQL数据库,几乎绝大多数常用的命令或语句在SQL中都可以找到相应的对应或映射。本文主要与MySQL做了些参照,供大家参考。
Leshami
2018-08-13
8010
MongoDB 多键索引
更多参考 MongoDB 单键(列)索引 MongoDB 复合索引 MongoDB执行计划获取(db.collection.explain())
Leshami
2018-08-13
1.6K0
mongoDB 逻辑运算符
在mongoDB中,逻辑运算也是较为常用的运算,这些逻辑运算通常包含与或非,取反,存在等等。本文描述mongoDB几类常用的逻辑运算符同时给出演示示例,供大家参考。 一、mongoDB中的几种逻辑运算符 $or 逻辑或 $and 逻辑与 $not 逻辑非 $nor 逻辑or的取反 $exists 存在逻辑 $type 查询键的数据类型 二、演示逻辑运算 演示集合persons中用到的文档数据请参考:m
Leshami
2018-08-08
1.4K0
MongoDB 文档字段增删改
//$set修改器最常用,等同于RDBMS update的set子句 //演示重用的的示例集合数据请参考:mongoDB 比较运算符
Leshami
2018-08-08
1.3K0
MongoDB TTL索引
TTL索引是一种特殊类型的单字段索引,主要用于当满足某个特定时间之后自动删除相应的文档。也就是说集合中的文档有一定的有效期,超过有效期的文档就会失效,会被移除。也即是数据会过期。过期的数据无需保留,这种情形适用于如机器生成的事件数据,日志和会话信息等等。本文主要描述TTL索引的使用。 一、TTL索引 创建方法 db.collection.createIndex(keys, options) options: expireAfterSeco
Leshami
2018-08-08
1.4K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档