0

php, mongodb関数を使用するときに制限を適用する方法は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つのドキュメントが表示されます.サブドキュメントに制限を使用することはできません. 何百ものサブ ドキュメントがあり、サブ ドキュメントでページングが必要な場合、失敗します。サブ ドキュメントに制限を適用することは可能ですか?

4

1 に答える 1

0

クエリでは、 $slice: http://www.mongodb.org/display/DOCS/Retrifying+a+Subset+of+Fieldsを使用できます。ただし、それがあなたの要求である場合、MR 内でサブドキュメントをページ付けすることはできません。

「それから失敗する」ということで、あなたが何をしているのかわかりません。ですから、そこに信頼できる答えを出すことはできません。

ちなみに、制限はルート ドキュメントに対してのみ機能します。サブドキュメントはルート ドキュメント内の単なる配列であり、完全に独立したテーブルではありません。

于 2012-06-29T10:35:01.183 に答える