从PHP调用MongoDB中存储的JavaScript函数

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了从PHP调用MongoDB中存储的JavaScript函数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
将此函数存储在db.system.js中

function SomeFunc(o) {
    x = db.Collection;
    while( 1 ) {
        VAR c = x.find({},{_id:1}).sort({_id:-1}).limIT(1);
        var i = c.hasNext() ? c.next()._id + 1 : 1;
        o._id = i;
        x.insert(o);
        var err = db.getLastErrorObj();
        if( err && err.code ) {
            if( err.code == 11000 /* dup key */ )
                continue;
            else
                PRint("unexpected error inserting data: " + tojson(err));
        }
        break;
    }
}

PHP

print_r(
    $db->execute("SumeFunc(o)",array("name" => "test"))
);

错误

Array
(
    [errno] => -3
    [errmsg] => invoke Failed: JS Error: ReferenceError: o is not defined nofile_a:0
    [ok] => 0
)

解决方法

$db->execute(
    new MongoCode('SomeFunc(o)',array(
        'o' => array('name' => 'test') 
    ))
);

脚本宝典总结

以上是脚本宝典为你收集整理的从PHP调用MongoDB中存储的JavaScript函数全部内容,希望文章能够帮你解决从PHP调用MongoDB中存储的JavaScript函数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。