从PHP调用MongoDB中存储的JavaScript函数
发布时间:2020-12-13 21:38:59 所属栏目:PHP教程 来源:网络整理
导读:我将此函数存储在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(); i
我将此函数存储在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') )) ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |