MongoDB::execute

(PECL mongo >=0.9.3)

MongoDB::execute�����ݿ������������JavaScript

˵��

public MongoDB::execute ( mixed $code [, array $args = array() ] ) : array

MongoDB������������һ��JavaScript���档������������ڷ�������ִ������JavaScript���롣�������Ҫ���ý�����Դ����������ϣ������ڷ������ϴ���һЩ������Լ������紫�䣬��ô������������á�

�ڷ���������JavaScript����ᴴ��һ��д����������ζ��������������������ִ�С�������һ�κ�ʱ�ϳ��Ĵ���֮ǰ���뿼�ǵ���һ�㡣

����һ�����ݿ�ָ��İ�װ�����򵥵�˵�൱�ڣ�

<?php

public function execute($code$args) {
    return 
$this->command(array('$eval' => $code'args' => $args));
}

?>

�����ִ�еĴ���ֻ��һ����䣬��ֻ��һ�У�MongoDB����һ��return��䡣������һЩֱ�۵���Ϊ��������������ӷ���"foo"��

<?php

$db
->execute('"foo";');

?>

�����������������ӷ���NULL:

<?php

$db
->execute('"bar"; "foo";'); // ������

$db->execute('db.foo.count(
);'
); // ����

?>

Ϊ�˷�ֹ�������Ϊ����ò�Ҫ����MongoDB������ķ���ֵ��������ȷ���ṩһ��return��䡣����������У����԰Ѵ����Ϊ��

<?php

$db
->execute('"bar"; return "foo";');

$db->execute('return db.foo.count(
);'
);

?>

������һ�����᷵��"foo"���ڶ������᷵��"foo"���ϵij��ȡ�

����

code

MongoCode��Ҫִ�е��ַ���

args

��code�IJ�����

����ֵ

����ִ�н��

����

Example #1 �򵥵� MongoDB::execute() ʵ��

<?php

$response 
$db->execute("function() { return 'Hello, world!'; }");
echo 
$response['retval'];

?>

�������̵���������ڣ�


Hello, world!

Example #2 �������� MongoDB::execute() ʵ��

��ѡ�IJ����������ݸ�JavaScrip����

<?php

$response 
$db->execute("function(greeting, name) { return greeting+', '+name+'!'; }", array("Good bye""Joe"));
echo 
$response['retval'];

?>

�������̵���������ڣ�


Good bye, Joe!

Example #3 ������ʵ��

���ʹ�� MongoCode ��������ַ�����Ϊ��һ�����������Դ���һ�������򵽽�Ҫִ�е�JavaScript�С�

<?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'];

?>

�������̵���������ڣ�


Goodbye, Joe, says Fred