相当于Mongo执行的PHP MongoDB驱动程序执行
问题描述:
我很难找到旧驱动程序的execute
命令的“新”MongoDB驱动程序/库中是否有等价物。在这种情况下,我只是想运行Math.random()
,似乎无法弄清楚什么命令是等价的。我看到http://php.net/manual/en/mongodb.execute.php,但我甚至无法弄清楚如何使用它。它应该在MongoDB \ Client类上运行吗?相当于Mongo执行的PHP MongoDB驱动程序执行
答
这里是你如何做到这一点。
<?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
我认为这是对MongoClient'$ db'执行executeCommand方法。你有任何代码可以分享吗? –
我试着在MongoClient的一个实例上运行它,但没有奏效。我所有的代码是创建一个MongoClient的实例,然后尝试'$ mongo-> execute('Math.random()')''。 – RhoVisions
它应该是'$ db-> execute('Math.random()')' –