2012-11-29 6 views
6

私はmongodbで整数計算をしようとしていますが、いくつか問題があります。 mongo db集約フレームワークの倍数を上下に丸める方法はありますか?Mongodb集約フレームワークにfloor関数はありますか?

+0

私ができる最良の方法は、モジュラスを使用し、そうすることです:(num-mod(num、1))。それでも2倍は出ますが、少なくとも整数倍の倍数です。 (そして私はクライアント側をキャストできます)。 – CasualT

+2

[アグリゲーションフレームワーク演算機能(http://docs.mongodb.org/manual/reference/aggregation/#arithmetic-operators)のMongoDB 2.2 '$ floor'又は' $のceiling'を含みません。追加したい機能や演算子がある場合は、[MongoDB SERVERプロジェクト](https://jira.mongodb.org/browse/SERVER)のコンポーネント "集約フレームワーク"でこれらを提案してください。 – Stennie

+0

ドキュメントを見て、それは私が想像したものですが、明らかに何も見逃していないことを確認したかったのです。幸運にも私は今のところ仕事をしています。 :)(別に:将来、ある時点で機能要求を記入します)。 – CasualT

答えて

9

Stennieのコメントによると、床と天井の方法はサポートされていません。

そして、上記の私のコメントのとおり、私は見つけることができる最善の解決策は、同じように見える操作していた:(NUM-MOD(NUM、1))床関数と同じ結果が得られるはずです。

+0

これは、すぐに利用できるようになります:https://docs.mongodb.org/manual/release-notes/3.2-reference/#exp._S_floor – CasualT

1

MongoDB 3.2から開始し、次の算術演算集計演算子が用意されてい使用することができます:あなたはどの辺から整数に変換することができ

は、欲しいです。構文はまっすぐです:{ $function: <number> }

+0

私は11月4日に、私の元の回答にコメント; – CasualT

+1

@CasualT)とI私ははるかに高く評価 –

+0

:-)新しいドキュメントを読んでたらちょうど、もう少し詳細にそれを書きました。 :) – CasualT

関連する問題