MongoDB ไม่มี Stored Procedure แบบ SQL แต่มีการเก็บฟังก์ชัน JavaScript ไว้ในคอลเลกชันระบบ system.js เพื่อเรียกใช้งานซ้ำได้
ไวยากรณ์
db.system.js.save(
{
_id: "yourStoredProcedureName",
value: function(argument1, ..., argumentN)
{
statement1,
...
statementN
}
}
);
ตัวอย่าง: สร้างฟังก์ชันบวกเลขสองตัว
> db.system.js.save(
... {
... _id: "addTwoValue",
... value: function(a,b)
... {
... return a+b
... }
... }
... );
WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : "addTwoValue" })
การเรียกใช้งาน
ใช้คำสั่ง eval() (หมายเหตุ: eval ถูก deprecated ในรุ่นใหม่ ควรใช้การประมวลฝั่งแอปพลิเคชันแทน)
> db.eval("return addTwoValue(100,25)");
125