私はモンゴイドモデルのRailsアプリを持っています。このモデルには整数のカウンターフィールドがあります。ブール値にキャストされたこのフィールドでエントリを並べ替えたい
MyModel.desc("counter::boolean") # casting in postgres-like syntax
したがって、counter> 0のエントリが最初になり、counter==0のエントリが最後になります。
また、この式でcreated_atソートを使用します。これは、同じ値のcounterに対してのみ正しく機能するため、2つの可能な値のみが必要です。必ずしも真/偽である必要はなく、1/0である可能性があります。
Mongodbは、カスタムの並べ替え機能をサポートしていません(オープンチケットがあります)。
そのようなキャストはmongoid/mongodbで行うことができますか?いいえの場合、おそらく回避策はありますか?