1. 程式人生 > >【MongoDB】儲存在伺服器端的JavaScript方法

【MongoDB】儲存在伺服器端的JavaScript方法

在資料庫運維時,會大量進行一些重複性地增刪改查,或者構造假資料,這時若還是一條一條的增加就會很繁瑣,這種情況下可以使用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()