2012-06-29 34 views
0

如何在使用mapreduce函數時在php, mongodb中應用限制? 我想這在php中使用mapreduce函數限制?

$cmd=array(// codition array 
"mapreduce" => "user", 
"map" => $map, 
"reduce" => $reduce, 
"out" => array("inline" => 1), 
"limit"=>2 
); 

$db=connect(); 
$query = $db->command($cmd);// run command 

但它不工作它給2個documents.I不能在子文檔中使用的限制。 如果我有100個子文檔,然後我希望在子文檔中分頁,那麼它會失敗。是否可以對子文檔應用限制?

回答

0

在您的查詢中,您可以使用$ slice:http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields。但是,如果這就是你的要求,你將無法在你的MR內部對你的子系統進行分頁。

我不確定你是通過什麼方式「然後失敗」。所以我不能在那裏給出可靠的答案。

順便說一下,限制只適用於根文件。子文檔僅僅是您的根文檔中的數組,而不是完全獨立的表。