MongoDB编写并执行js脚本

作者: 恐怕是小珠桃子 | 来源:发表于2016-11-02 16:49 被阅读359次

    使用mongodb项目时经常需要在数据库中插入假数据,如果每次都手动插入就会很麻烦,所以我们可以选择编写脚本来执行。mongodb是可以直接执行js脚本的,使用方法也比较简单。

    编写脚本

    1. 以插入数据为例,我们首先要做的就是创建js文件(test.js),并在该文件中连接本地数据库,写法如下:
    var url = "mongodb://localhost:27017/nodebb";
    var db = connect(url);
    

    第一行代码中的nodebb是想要连接的本地数据库名,执行以上两行代码,db就代表链接到的nodebb数据库

    1. 接下来就和我们平时在数据库中写操作是一样的,例如插入操作:
       db.objects.update({"pid": 32}, {
        $push: {
            "comments": {
                "com_id": 1,
                "com_content": "我是32号post的第一条回复"
            }
        }
    });
    

    执行脚本

    打开终端,到test.js所在的目录下,执行

    mongo test.js
    

    完成,是不是so easy~~

    上述脚本做了什么事情

    未执行脚本前,在命令行nodebb数据库下执行

    db.objects.find({"pid":32}).pretty()
    

    可以看到:

       {
        "_id" : ObjectId("58082f3ac698649ba0d3acce"),
        "_key" : "post:32",
        "pid" : 32,
        "uid" : 1,
        "tid" : 14,
        "content" : "朝辞白帝彩云间,千里江陵一日还",
        "timestamp" : 1476931386071,
        "deleted" : 0
    }
    

    现在我们要向"pid" : 32的数据中插入一个叫comments的数组,执行上述脚本,再次执行

    db.objects.find({"pid":32}).pretty()
    

    可以看到数据发生了变化,如下:

      {
        "_id" : ObjectId("58082f3ac698649ba0d3acce"),
        "_key" : "post:32",
        "pid" : 32,
        "uid" : 1,
        "tid" : 14,
        "content" : "朝辞白帝彩云间,千里江陵一日还",
        "timestamp" : 1476931386071,
        "deleted" : 0,
        "comments" : [
            {
                "com_id" : 1,
                "com_content" : "我是32号post的一条回复"
            }
        ]
    }
    

    相关文章

      网友评论

      本文标题:MongoDB编写并执行js脚本

      本文链接:https://www.haomeiwen.com/subject/yfnvuttx.html