【MongoDB】儲存在伺服器端的JavaScript方法
阿新 • • 發佈:2019-02-03
在資料庫運維時,會大量進行一些重複性地增刪改查,或者構造假資料,這時若還是一條一條的增加就會很繁瑣,這種情況下可以使用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()