MongoDB::execute
(PECL mongo >=0.9.3)
MongoDB::execute — Runs JavaScript code on the database server.
Description
The Mongo database server runs a JavaScript engine. This method allows you to run arbitary JavaScript on the database. This can be useful if you want touch a number of collections lightly, or process some results on the database side to reduce the amount that has to be sent to the client.
Return Values
Returns the result of the evaluation.
Examples
Example #1 Simple MongoDB::execute() example
<?php
$response = $db->execute("function() { return 'Hello, world!'; }");
echo $response['retval'];
?>
The above example will output something similar to:
Hello, world!
Example #2 Parameter MongoDB::execute() example
The optional array of parameters will be passed to the JavaScript function.
<?php
$response = $db->execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Good bye", "Joe"));
echo $response['retval'];
?>
The above example will output something similar to:
Good bye, Joe!
Example #3 Scope example
If a MongoCode object is used instead of a string for the first parameter, a scope can be passed in which the JavaScript will be executed.
<?php
$func =
"function(greeting, name) { ".
"return greeting+', '+name+', says '+greeter;".
"}";
$scope = array("greeter" => "Fred");
$code = new MongoCode($func, $scope);
$response = $db->execute($code, array("Goodbye", "Joe"));
echo $response['retval'];
?>
The above example will output something similar to:
Goodbye, Joe, says Fred