如何从php mongodb javascript函数调用?

如何从php mongodb javascript函数调用?,php,mongodb,Php,Mongodb,在php中,我调用mongodb javascript函数start() 由于获得 Array ( [ok] => 0 [errmsg] => unauthorized ) $username+$password+$mongo_uri-右,$db给予ok连接 但是在$response=$db->execute(“start()”)上获得未经授权的错误 如何从php mongodb函数start()调用?这里的方法是作为mong

在php中,我调用mongodb javascript函数start()

由于获得

 Array
    (

        [ok] => 0

        [errmsg] => unauthorized

    )
$username+$password+$mongo_uri-右,$db给予ok连接

但是在
$response=$db->execute(“start()”)上获得未经授权的错误

如何从php mongodb函数start()调用?

这里的方法是作为mongodb方法的包装器实现的。因此,您可能指的是在服务器启动时加载的服务器端JavaScript方法

如手册页面所示,需要可能尚未授予您用来进行身份验证的帐户的特权。这可能是一件好事,因为对于一般CRUD操作,使用的帐户不应具有这些特权级别。如果有任何问题,这种操作应该只在它自己的特权连接上使用

对于生产系统来说,执行服务器端JavaScript通常不是一个很好的主意,如果您的函数实际上很琐碎,那么最好在本机库代码中重新实现它

因此,请注意手册页面上的警告,同时请注意,即使分配了正确的权限,您也无法在分片群集环境中运行此命令

最后,如果您确实需要JavaScript调用,还可以查看该类,了解定义JavaScript调用的更好方法。

eval()需要特殊权限

不鼓励使用它,因此您需要自己创建角色


请参见

我使用所有可能的权限创建了管理员,以解决此错误persists@user3495941您是否像前面提到的那样在分片集群上运行?我在heroku上工作,我创建了具有所有可能权限的管理员角色:[“读”、“读写”、“dbAdmin”、“userAdmin”、“clusterAdmin”、“readAnyDatabase”、“readWriteAnyDatabase”、“userAdminAnyDatabase”,“dbAdminAnyDatabase”]错误仍然存在
 Array
    (

        [ok] => 0

        [errmsg] => unauthorized

    )