我将此函数存储在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') )) );
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。