在服务器上存储 JavaScript 函数

Note

不要将应用程序逻辑存储在数据库中。在 MongoDB 中运行 JavaScript 存在一些性能限制。当应用程序代码与应用程序本身共享版本控制时,它通常也是最有效的。

有一个名为system.js的特殊系统集合,可以存储 JavaScript 函数以供重用。

要存储函数,可以使用db.collection.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; }
   }
);
  • _id字段保存函数的名称,并且每个数据库都是唯一的。

  • value字段保存功能定义。

一旦将函数保存在system.js集合中,就可以从任何 JavaScript 上下文中使用该函数。例如$where操作员,mapReduce命令或db.collection.mapReduce()