2012-02-09 10 views
0

私が知る限り、Mongoで複雑なソート関数を指定することはできませんので、map/reduceクエリを使用する必要があります。 reduce部分を使用してください。これは問題ありませんが、コレクションが返すコレクションが大きすぎるため、並べ替えて制限する必要があります(改ページ)。インラインコールでこれを行うことは可能ですか?コレクションは各ユーザーに固有のものであり、常に変化するため、結果のコレクションを保存してからクエリを実行することはできません。MongoDBのインラインマップ/縮小を

答えて

3

マップの前にmongodb mapreduceが通常適用されていますが、文字通りそれらは出力ではなく入力データに適用されます。

MongoDBのドキュメントから

[, sort : <sorts the input objects using this key. Useful for optimization, like sorting by the emit key for fewer reduces>] 
    [, limit : <number of objects to return from collection>] 

あなたがマップ出力を減らす&制限をソートしたいのであれば、あなたは一時コレクションに結果を格納する必要があります。 RAM上で実行されているので、の制限をinline mapreduce出力に適用できるとは思わない。

EDIT:

これについてはMongoDBのJiraで開いている問題(Add support for sorting and limiting inline map/reduce)があります。見てみましょう。

関連する問題