$densify (密度補間)

最終更新:2026-10-09

$densify (密度補間)

$densify は、欠落した中間のフィールド値でドキュメントを生成します。時系列の補間に典型的で、1 時間ごと・1 日ごとなどの固定ステップでギャップを埋めます。数値フィールドにも対応しています。フィールド、レンジ(ステップ、単位、境界)、オプションの partitionByFields を指定します。

カテゴリグループ化とウィンドウ
MongoDB バージョン5.1+
例の言語mongosh(シェル)

📝 構文

{ $densify: { field: "<field>", range: { step: <step>, unit: <unit>, bounds: <bounds> }, partitionByFields: [ ... ] } }

⚙️ パラメータ

field密にするフィールド。数値または日付である必要があります。
rangeステップ、単位(日付の場合)、および境界範囲を定義するオブジェクト。
partitionByFieldsパーティションのフィールド。各パーティションは個別に密化されます。

戻り値:欠落値を補完したドキュメントストリーム

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $densify: 気温データを 1 時間ごとに補間
db.temperature.aggregate([
  { $densify: {
    field: 'date',
    range: { step: 1, unit: 'hour', bounds: 'full' }
  } }
])

出力:

// 欠落した時間が埋められ、他のフィールドはコピーされる

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$densify は何に使いますか?
A固定ステップで欠落した時点を埋め、チャートや補間が完全な系列で動くようにします。
Qどの単位が使えますか?
A時間単位には minute、hour、day、week、month、quarter、year などがあります。
Q$densify はどれくらいのドキュメントを生成しますか?
Aステップと境界に依存します。広いレンジと細かいステップは多数のドキュメントになるため、メモリに注意してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%