在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
注:作者使用的mongodb版本为2.4.7。 入门例子 复制代码 代码如下: conn = new Mongo(); db = conn.getDB("db-name"); //选择数据库 db.auth("user-name","password"); //用户验证 var map = function() { var reduce = function(key, values) { db.data.mapReduce( 保存为test01.js,在终端中运行: 复制代码 代码如下: $ mongo test01.js 运行结束后可以在集合mr_result中查看mapreduce结果。 值得注意的是,在js脚本中如果直接: 复制代码 代码如下: db.mr_result.find(); 是无法输出结果的。 应该使用下面的方式输出结果: 复制代码 代码如下: conn = new Mongo(); db = conn.getDB("db-name"); //选择数据库 db.auth("user-name","password"); //用户验证 var cursor = db.mr_result.find(); while(cursor.hasNext()) { 保存为test02.js,运行: 复制代码 代码如下: $ mongo test02.js 结果如下: 复制代码 代码如下: a 1 code 1 collection 1 consider 1 contains 1 documents 1 error 1 follow 1 following 3 found 1 get 1 i 2 in 1 link 1 map-reduce 1 of 1 on 1 operations 1 orders 1 prototype 1 that 1 the 4 this 1 when 1 使用load()函数 load()函数用于引入其他文件,这为代码重用提供了便利。 最简单的情形是,把数据库连接操作的代码放在一个单独的文件里,在当前目录建立lib,在lib目录下创建文件base_operation.js,内容如下: 复制代码 代码如下: function BaseOperation() { /* 在当前目录下建立文件test03.js,内容如下: 复制代码 代码如下: load("lib/base_operation.js"); BO = new BaseOperation(); db = BO.getDB(); var cursor = db.mr_result.find(); while(cursor.hasNext()) { 运行test03.js的效果和test02.js相同。 |
请发表评论