$floor (切り捨て)
最終更新:2026-10-09
$floor (切り捨て)
$floor は、与えられた数以下の最大の整数を返します。切り捨てです。金額の切り捨て、下限の計算、値のバケット化(価格を 10 単位で下に丸めるなど)に使われます。null または欠落した引数は null を返し、整数はそのまま通過します。$ceil の逆で、-1.2 は $floor では -2、$ceil では -1 になります。0 方向に切り捨てる $trunc とも異なり、$trunc では -1.2 は -1 です。
| カテゴリ | 数学 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $floor: <numeric-expression> }
⚙️ パラメータ
| 数値 | 数値、または数値に解決される式。 |
|---|
戻り値:入力以下の最大の整数。null または欠落している場合は null
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $floor: 価格を整数円に切り捨て
db.products.aggregate([
{ $project: {
priceFloor: { $floor: '$price' }
} }
])
出力:
{ '_id': 1, 'priceFloor': 9 }
{ '_id': 2, 'priceFloor': 12 }
📌 注意事項
- $ceil の逆で、負の数では明確に分かれる
- $trunc とは違い、$floor は負の無限大方向に丸め、$trunc は 0 方向に切り捨てる
- 整数入力はそのまま返る
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q$floor と $trunc は負の数でどう違いますか?
A$floor は負の無限大方向に丸め(-1.2 が -2)、$trunc は 0 方向に切り捨てます(-1.2 が -1)。
Q$floor は null に何を返しますか?
A例外なしで null を返します。
Q$floor で小数位を残せますか?
Aできません。小数位を残すには $round または $trunc を使います。