2016-12-25 89 views
0

我很难找到旧驱动程序的execute命令的“新”MongoDB驱动程序/库中是否有等价物。在这种情况下,我只是想运行Math.random(),似乎无法弄清楚什么命令是等价的。我看到http://php.net/manual/en/mongodb.execute.php,但我甚至无法弄清楚如何使用它。它应该在MongoDB \ Client类上运行吗?相当于Mongo执行的PHP MongoDB驱动程序执行

+0

我认为这是对MongoClient'$ db'执行executeCommand方法。你有任何代码可以分享吗? –

+0

我试着在MongoClient的一个实例上运行它,但没有奏效。我所有的代码是创建一个MongoClient的实例,然后尝试'$ mongo-> execute('Math.random()')''。 – RhoVisions

+0

它应该是'$ db-> execute('Math.random()')' –

回答

0

这里是你如何做到这一点。

<?php 
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); 
$command = new MongoDB\Driver\Command(array('eval' => "Math.random()")); 
$cursor = $manager->executeCommand('testDb', $command); 

print_r($cursor->toArray()); 
?> 

这里是示例输出。

Array 
(
    [0] => stdClass Object 
     (
      [retval] => 0.66910735880473 
      [ok] => 1 
     ) 

) 

结帐Manager类的更多细节

+0

谢谢,这有助于澄清很多! – RhoVisions

+0

欢迎@RhoVisions!如果您觉得这有帮助,请将其标记为已接受,以便其他人可以找到它有帮助。 – dikesh