`
jorwen_fang
  • 浏览: 51703 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
NodeJS核心东西随着版本更新越来越多,详情看官方文档:http://nodejs.org/api/ 下面简单介绍几个用的比较多的 1.全局对象 在浏览器JavaScript 中,通常window 是全局对象,而Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global对象的属性。如 console、process 等 1).procss 
1.HelloWorld 方法1,直接运行 安装好node js后,在cmd命令窗口输入node. 然后你可以直接输入:console.log('Hello World'); 方法2,执行js 或者把他写在一个helloworld.js里,cmd模式输入(注意看到$,不是nodejs命令,仅仅普通cmd命令): $ node helloworld.js 你都能看到输出结果 支持变量写法 console.log('%s: %d', 'Hello', 25); 另外直接作为字符串执行:$ node -e "console.log('Hello World');"     ...
(11) - 替换switch语句 用switch语句时,当通过增加一个新类对基于switch结构的系统进行修改时,程序员可能会忘记将其添加到现有的所有switch结构中。每次新增和删除一个类都需要修改系统中的所有switch结构,但追踪这些语句非常耗时,而且也容易出错。这是就多态性编成而言的。
重构手法千变万化,如果你看过《重构_改善既有代码的设计》这本书一定会很有感触,此文我从这本书中挑选个人觉得比较有用的几点,一些我在工作中觉得比较实用的重构手法。   (01) - 方法提炼 有句话叫,当你为了给一段代码写注释的时候,你就能考虑把他提炼一下了。 来看一个实际例子,登录 配合idea的Refactor->Extract->Method 原始代码如下:
1.反范式设计 先看看关系数据库做个关联查询怎么做的 比如2个表如下,一个订单有多个产品 products:{ 'id', 'name', 'price', 'desc' } orders:{ 'id', 'user', 'items':[product_id1,product_id2,product_id3] } 这种做法关系数据库肯定没问题,一个表关联查询就行了。但mongodb则不得不查询多次,否则只能拿到产品id而已。大大降低查询性能 那要一次的话如下设计: orders:{ 'id', 'user', 'ite
最完整原版教程:http://docs.spring.io/spring-data/data-mongo/docs/1.4.0.RELEASE/reference/html/mongo.core.html 范例中的MetaDBMongoFactory是我自己写的,你也可以通过Spring配置文件获得。如下 http://www.blogjava.net/wangxinsh55/archive/2012/03/29/372987.html 1.单表增删查改 @Id - 文档的唯一标识,在mongodb中为ObjectId,它是唯一的,通过时间戳+机器标识+进程ID+自增计数器(确保同一秒内产生 ...
既要有副本集的热备功能,又要充分利用多台服务器性能     
MongoDB的分片主要是指将集合拆分成小块并分别存在不同服务器上的过程。MongoDB支持自动分片,可摆脱手动分片管理上的困难。 在以下情况下需要运用分片: 1.服务器的磁盘不够用。 2.单个Mongod不能满足写数据的性能需求。 3.单个Mongod内存不够用,需要将大数据放入内存中提高性能。   Shard Server: mongod实例,用于存储实际的数据块,实际生产环境中一个Shard Server角色可由几台机器组个一个Replica Set承担,防止主机单点故障。 Config Server: mongod实例,存储了整个Cluster Metadata,其中包括Chunk信息 ...
保证主节点挂掉了,备节点能继续提供数据服务。Primary表示主节点,Secondary表示备节点。备节点可设置读权限,分担查询压力,但不保证实时   范例:Mongodb(A)表示仲裁节点。主备节点存储数据,仲裁节点不存储数据。客户端同时连接主节点与备节点,不连接仲裁节点。用于投票,如果主节点挂了,剩下偶数节点时,可能投票结果无法判断选举哪个作为master  案例: 1.建立数据文件夹
已经不推荐使用,请用副本集模式代替 主从复制是MongoDB最常用也是最简单的复制操作。常用于数据备份和故障修复等。 一个server可以同时为master和slave。一个slave可以有多个master(不推荐,可能会产生不可预期的结果)。      配置选项:      --master  以主服务器方式启动      --slave   以从服务器方式启动      --autoresync:自动重新sync,因为该操作会copy 主服务器上的所有document,比较耗时,在10分钟内最多只会进行一次。      --oplogSize:指定master上用于存放更改的数据量,如果 ...
1.启动停止 & 运行监控 【启动MongoDB】 执行mongod命令,启动mongod进程,就会启动MongoDB数据库服务。我们在命令行窗口中运行mongod --help可以看到这个命令有大量可选的option,我们这里重点介绍几个: 1》 --dbpath:指定数据目录,每一个mongod进程都要有一个独立的数据目录,如果不指定这个选项,默认的数据目录是/data/db/(Windows下是C:\data\db\)。当mongod启动后,会在数据目录中创建mongod.lock文件,这个文件可以防止别的mongod进程再次使用这个目录作为数据目录。 2》 --port:指定数 ...
MapReduce是聚合工具的明星!前面讨论的count、distinct、group能做到的,MapReduce都可以做!他是一个可以轻松并行化到多台服务器的聚合方法!他会拆分问题,将各个部分发送到不同的机器上执行,当所有机器都完成时,再把结果汇集起来形成最终完整的结果! MapReduce在MongoDB中的使用通常有如下几个步骤: 1》 映射(map),将操作映射到集合中的每一个文档,这个操作在文档上执行后,要么没产生任何结果,要么产生一些键值对! 2》 洗牌(shuffle), 这是一个中间过程。上述映射会产生一些键值对,这个动作会将这些键值对按键分组,并将值组成列表设置到对应的键中。 ...
1.【count】 集合的count函数是最简单的聚合函数,返回集合中文档的数量,也可以接受一个查询文档,统计符合这个查询的文档数量: 01.
1. 如何判断查询是否命中索引 游标调用explain函数会返回一个文档,用于描述当前查询的一些细节信息。 比如 01.
安装后运行bin/mongo.exe(windows),打开dos操作界面 1、查询本地所有数据库名称 > show dbs; 2、切换至指定数据库环境(若无指定的数据库,则创建新的库) > use dbtest; 切换至dbtest库或创建名为dbtest的库 3、查询当前库下的所有聚集集合collection(相当于table) > show collections; 4、创建聚集集合 > db.createCollection('employee'); 创建了一个名为'employee'的聚集集合 5、插入数据 > db.employee.insert({'u ...
Global site tag (gtag.js) - Google Analytics