• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MongoDB中javascript脚本编程简介和入门实例

    注:作者使用的mongodb版本为2.4.7。

    入门例子

    复制代码 代码如下:

    conn = new Mongo();
    db = conn.getDB("db-name");  //选择数据库
    db.auth("user-name","password");  //用户验证

    var map = function() {
        split_result = this.sentence.split(" ");
        for (var i in split_result) {
            var word = split_result[i].replace(/(^\s*)|(\s*$)/g,"").toLowerCase(); //去除了单词两边可能的空格,并将单词转换为小写
            if (word.length != 0) {
                emit(word, 1);
            }
        }
    }

    var reduce = function(key, values) {
        print(key+":"+Array.sum(values));
        return Array.sum(values);
    }

    db.data.mapReduce(
        map,
        reduce,
        {out:{merge:"mr_result"}}
    )

    保存为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()) {
        r = cursor.next();
        print(r["_id"] + "\t" + r["value"]);
    }


    保存为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() {

        /*
        连接数据库,返回连接对象
        */
        this.getDB = function() {
            conn = new Mongo();
            db = conn.getDB("db-name");
            db.auth("user-name","password");
            return db;
        }
    }


    在当前目录下建立文件test03.js,内容如下:
    复制代码 代码如下:

    load("lib/base_operation.js");
    BO = new BaseOperation();
    db = BO.getDB();

    var cursor = db.mr_result.find();

    while(cursor.hasNext()) {
        r = cursor.next();
        print(r["_id"] + "\t" + r["value"]);
    }


    运行test03.js的效果和test02.js相同。

    您可能感兴趣的文章:
    • MongoDB的基础知识简介
    • MongoDB中的MapReduce简介
    • MongoDB简介 MongoDB五大特色
    • MongoDB系列教程(二):MongoDB简介
    • PHP与MongoDB简介|安全|M+PHP应用实例详解
    • MongoDB创建一个索引而性能提升1000倍示例代码
    • Docker容器化部署尝试——多容器通信(node+mongoDB+nginx)
    • Java操作MongoDB插入数据进行模糊查询与in查询功能
    • MongoDB中多表关联查询($lookup)的深入讲解
    • MongoDB特点与体系结构等简介
    上一篇:MongoDB下根据数组大小进行查询的方法
    下一篇:MongoDB中MapReduce编程模型使用实例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    MongoDB中javascript脚本编程简介和入门实例 MongoDB,中,javascript,脚本,