mongodb
Fred-XU
https://www.zhihu.com/people/fredric-96
展开
-
mongodb 入门笔记
0. mongoDB基础概念文档 可类比为关系数据库中的行 多个键及其关联的值 其中键值是有序的 区分类型及大小写 键是唯一的,若重复则认为定义非法 集合 可类比为关系数据库中的表 一组文档 可采用命名空间划分子集合,如“blog.class1”,“blog.class2” 数据库 多个集合 一个mongodb实例可支持多个数据库; 每个数据库...原创 2013-04-16 14:11:00 · 126 阅读 · 0 评论 -
mongodb( 实现join)
mongodb提供ref和populate的方法,支持类似join的SQL操作。本文给出一个实际的例子:1. 数据1:var daob = new Schema({ user: { type: String }, title: { type: String }, tag: [{ type: Stri...原创 2015-04-11 16:52:00 · 1467 阅读 · 0 评论 -
mongodb(回滚)
事实上mongodb是不支持事务的,个人理解原因如下:1.避免大量对document加锁,从而影响性能,2.非关系型的数据库,从设计上就应能尽可能的比较关联复杂的多document,一个数据应能记录在一个json document中。然后实际的业务操作中,跨document的业务操作还是不可避免的,本文中给出node下的一种业务层替代方式(利用其同步模块及回调的结果),如下:export...原创 2015-04-11 16:58:00 · 1353 阅读 · 0 评论 -
mongodb(map-reduce)
下例中给出mongoose的一个mapreduce例子,参考mongoose官网。基本概念:Map函数接受一个键值对(key-value pair),产生一组中间键值对。MapReduce框架会将map函数产生的中间键值对里键相同的值传递给一个reduce函数。Reduce函数接受一个键,以及相关的一组值,将这组值进行合并产生一组规模更小的值(通常只有一个或零个值)。 ...原创 2015-04-21 20:27:00 · 181 阅读 · 0 评论 -
mongodb(mongoose-redis-cache)
在传统的项目中,我们经常会用到缓存来优化数据库的读取,比如java中,我们利用spring的AOP能力,在读写数据库前增加对缓存的操作。在node与mongodb的项目中也仍然会存在类似问题,本文参考了mongoose-redis-cache这个插件。https://github.com/conancat/mongoose-redis-cache该插件还不太完善,但基本的思路是很简单的...原创 2015-05-21 16:41:00 · 441 阅读 · 0 评论 -
mongodb(Index)
备忘mongoDb 索引的一些知识点。1、索引是用以加速数据库查询的手段,在mongo中主要是采用B树的方式;2、每个集合最多可增加64个索引,不建议增加过多索引,原因在于一是索引本身占用空间,二由于要维护一个B树的映射,增加索引后,数据库的增删改除了修改数据外,还要修改索引的数据结构,会影响效率;3、mongo中采用db.user.ensureIndex({"name":1})的方式...原创 2015-05-28 10:52:00 · 194 阅读 · 0 评论 -
【转】MongoDB安全配置
【转自】http://drops.wooyun.org/%E8%BF%90%E7%BB%B4%E5%AE%89%E5%85%A8/24700x00 MongoDB权限介绍1.MongoDB安装时不添加任何参数,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库,需以--auth参数启动。2.在刚安装完毕的时候MongoDB都默认有一个admin数据库,此时adm...转载 2015-05-28 11:46:00 · 105 阅读 · 0 评论 -
mongodb(副本集)
副本集是mongo下的一种集群配置方式:1、通过oplog的方式将主节点数据同步到副本节点,oplog不记录查询语句(因为不改变数据);2、mongo的副本集可以有一个主节点,多个副本节点,主节点为自动选举出;本文下述在单机配置一个基本的副本集群,操作系统windows7,mongodb版本2.6.41、创建主节点、副本节点数据库文件夹 master/db 和 replset/db...原创 2015-05-28 14:41:00 · 329 阅读 · 0 评论 -
mongodb(分片)
分片(即sharding)是将数据拆分至不同数据节点的方式。1、在mongoDB中提供了自动分片的方式,它会根据数据块(chunk)大小的设定,对片键进行拆分;2、mongoDB配置分片,要配置三类节点,包括: 2.1 配置节点:存储分片的配置信息,包括由哪些分片、chunk信息等; 2.2 路由节点:配置完分片后,所有的SQL操作都通过该路由节点,由该路由节点路由至不同的数据...原创 2015-05-28 16:19:00 · 356 阅读 · 0 评论