【MongoDB】存储在服务器端的JavaScript方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/swl979623074/article/details/80529200

在数据库运维时,会大量进行一些重复性地增删改查,或者构造假数据,这时若还是一条一条的增加就会很繁琐,这种情况下可以使用JavaScript方法。

一、生成JavaScript方法

MG(MongoDB)中有个名为system.js的特殊的系统集合,在这里可以存储一些JavaScript方法,这些方法可以重复使用。

note:
一般不要将登陆信息存储在这里。同时在这里存储JavaScript方法会对MG的性能有影响,不要滥用此功能

可以使用db.system.js.save()存储一个方法,示例:

db.system.js.save(
   {
     _id: "echoFunction",
     value : function(x) { return x; }
   }
)

db.system.js.save(
   {
     _id : "myAddFunction" ,
     value : function (x, y){ return x + y; }
   }
);

或者也可以存储一些数据库操作相关的方法,如:

db.system.js.save({
    _id:'initUsers',
    value:function (){
        db.users.remove({});
        let users = [{name:'xiaoming',age:10},{name:'xiaoli',age:11},{name:'xiaopang',age:12}];
        db.users.insertMany(users);
    }
})
  • _id标识方法名
  • value存储具体的方法

二、查看服务器上的方法

可以使用集合查询语句查看存储的方法,db.system.js.find();

三、使用JavaScript方法

3.1 与集合操作语句一起使用
一旦在system.js中创建好方法之后,可以与$where、mapreduce、或者命令行db.collection.mapreduce()等一起使用

3.2单独使用
1. db.loadServerScripts()
2. initUsers()

展开阅读全文

没有更多推荐了,返回首页