MongoDB:PHP中存储和调用server side 自定义函数 MongoDBPHP
程序员文章站
2024-03-15 12:06:23
...
在MongoDB 从1.1.x版本开始可以将server side code存储,这样可以一次性导入或者存储函数定义后,
就可以在$where等中使用这些函数.
在PHP driver中如何存储和定义这些js 函数? 目前似乎没有直接的简单方法. 如果调用MongoDb::execute是不行的.
我的解决方法使用曲线救国,通过将代码save到system.js进行存储,通过execute js closure来调用.
例子如下:
public function store_server_function($fun_name,$fun_body) {
$code = sprintf('
var _fun = %s;
db.system.js.save({_id:"%s", value: _fun });
',$fun_body,$fun_name);
...