これはMongoDBでは現在可能ですが、 クエリの結果セットを、 結果セット内の値の配列でソートできるかどうかを知りたいと思います。これはMySQLの "ORDER BY FIELD" の機能に似ています。このMySQLの機能の簡単な例:ここでは http://pastebin.com/qtL1vKcMMongoDBクエリ:値のリストで並べ替えることができますか?
私は MongoDBのコンソールで達成しようとしているものの同様の例である:http://pastebin.com/LuKqA6b1
私はほとんどの人々が示唆しているものを知っている:でソートしますクライアント のサイド/アプリケーションコード。しかし、私の場合はそれができません。私は 結果セット(すなわち、skip()/ limit()コンボ)を改ページしています。 でソートすると、アプリケーションコードにコレクション全体を選択し、フィルタリングせずに並べ替えてからアプリケーションコードに を適用する必要があります。
skip()/ limit()を適用する前に結果セットをソートする必要があります。
この機能は非常に実用的だと思います。私のケースでは、 機能を MongoDBと統合しようとしていますが、Sphinxのマッチング関連性によるソートを維持しています。 は次のように動作します。
- スフィンクスのドキュメントは文字列属性としてMongoIDとともに格納されます。この は、MongoDBドキュメントに直接対応しています。
- ユーザテキスト検索が実行されると、まずSphinxがクエリされます。 Sphinxの結果セットの MongoIDは、MongoDB コレクション(つまり、$ in演算子)を照会するために使用されます。
- スフィンクスの結果セットによって提供される関連性ソートは失われます。
- :(
これを達成するための実用的な方法はありますか?
MongoDBについての書籍やドキュメントは読んでいませんか? –
@ahmet:私はあなたが質問を正しく読まなかったと思います... –
それは可能ではなく、多くの本などで言われています。 –