MongoDBで区別されるのはコマンドであり、コマンドはカーソルを返しません。ここでsort()がサポートされていないのと同じように、カーソルのみがlimit()をサポートしますが、コマンドの結果はサポートしません。ソートは最初に実行するのに十分重要だと思います。 P>
これを回避する方法はありますが、集約フレームワークを使用します。プレーンなMongoDBクエリスピーク(MongoDBシェルで使用する場合)では、次を使用します:
db.places.aggregate( [
{ $match: { 'tags' : { $in: [ 'food' ] } } },
{ $group: { '_id': '$name' } },
{ $sort: { 'name': 1 } },
{ $limit: 2 },
] );
Mongoidでは、最初の行を次のように変更できると思います:
Place.collection.aggregate( [