MongoDBで日付の範囲をクエリする方法


  1. $gteと$lteオペレータを使用する方法:

    db.collection.find({ dateField: { $gte: startDate, $lte: endDate } })

    ここで、collectionは対象のコレクション名、dateFieldは日付フィールドの名前、startDateendDateは範囲の開始日と終了日です。このクエリは、指定された範囲内の日付を持つドキュメントを返します。

  2. $gtと$ltオペレータを使用する方法:

    db.collection.find({ dateField: { $gt: startDate, $lt: endDate } })

    このクエリも、指定された範囲内の日付を持つドキュメントを返します。ただし、startDateendDate自体は範囲に含まれません。

  3. $and演算子を使用する方法:

    db.collection.find({ $and: [{ dateField: { $gte: startDate } }, { dateField: { $lte: endDate } }] })

    このクエリでは、$and演算子を使用して、2つの条件を同時に満たすドキュメントを検索します。

これらは一般的な例ですが、MongoDBでは他にも様々な方法があります。適切な方法は、データモデルやクエリの要件によって異なります。詳細なドキュメントや公式ドキュメントを参照することをお勧めします。