2012-03-15 50 views
2

親愛的大家誰可以幫助,通過調用PHP存儲過程MongoDB中

我有這個PHP> MongoDB的問題,我想通過調用PHP存儲過程(存儲在db.system.js集合)。

我沒有參數,只是返回JSON對象,它看起來是這樣的:

{"archived":[the number of the archived messages]} 

它可以在數據庫服務器上的外殼很好,但是當我試圖通過PHP驅動程序來調用它,它只是不「說」什麼...

我的代碼如下所示:

$DB->execute(
    new MongoCode(
     "function() { return archiveMessages(); }" 
    ) 
); 

我也試圖以某種方式使用這樣的:

$DB->execute("archiveMessages()"); 

請幫幫忙,我就死在這一個...我只是想調用的sh *噸更新採集後...

謝謝你在前進, 乙

回答

4

您確定您使用的是相同的數據庫嗎?試試吧簡化到一個基本的例子,例如,

$m = new Mongo(); 
$db = $m->foo; 

$db->system->js->save(array("_id"=>"archiveMessages", 
    "value"=>new MongoCode("function() { return 3; }"))); 

print_r($db->execute("archiveMessages()")); 

結果:

Array 
( 
    [retval] => 3 
    [ok] => 1 
) 
+0

我使用相同的數據庫,它是一個常數。就像其他任何東西一樣。 這是我現在唯一不能做的事情。 – benqus 2012-03-29 16:31:36

+0

你可以print_r你得到的結果嗎? [retval] => null? – kristina 2012-03-29 19:09:35

+0

我收到「錯誤500:內部服務器錯誤」。我的PHP驅動程序似乎工作正常,我所要求的一切。 – benqus 2012-03-30 06:50:44