0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MongoDB

Posted at

MongoDBにおける日付の比較

MongoDBでは、日付を扱う際にさまざまな演算子や機能を使用して、日付の比較や範囲検索を行うことができます。以下に、日付に関する主要な演算子とその使用例を示します。

**** 日付の比較演算子

  • $eq: 指定した日付と等しい値と一致します。

  • $ne: 指定した日付と等しくないすべての値と一致します。

  • $gt: 指定した日付を超える値と一致します。

  • $gte: 指定した日付以上の値と一致します。

  • $lt: 指定した日付未満の値と一致します。

  • $lte: 指定した日付以下の値と一致します。

  • $in: 配列内の指定した日付のいずれかと一致します。

  • $nin: 配列内の指定した日付のいずれとも一致しません。

日付範囲の検索

MongoDBでは、特定の日付範囲内のドキュメントを検索するために、上記の演算子を組み合わせて使用することができます。以下は、特定の日付範囲内でドキュメントを取得する例です。

// 2022年1月1日から2022年2月10日の間に作成されたドキュメントを検索
db.products.find({
  createddate: {
    $gt: ISODate("2022-01-01"),
    $lt: ISODate("2022-02-10")
  }
});

このクエリは、createddateフィールドが指定された範囲内にあるドキュメントを取得します。

月や年での比較

特定の月や年でドキュメントを検索する場合は、MongoDBの集約パイプラインを使用することが効果的です。以下は、特定の月に更新されたドキュメントを検索する例です。

// 3月に更新された製品を検索
db.products.aggregate([
  { $addFields: { month: { $month: "$updateddate" } } },
  { $match: { month: 3 } }
]);

また、特定の年でフィルタリングする場合は、次のように$year演算子を使用します。

// 2022年に提出された料金書類を検索
db.student.find({
  $expr: {
    $eq: [{ $year: "$FeeSubmission" }, 2022]
  }
});

日付オブジェクトの操作

MongoDBでは、ISODate()関数を使用して日付オブジェクトを作成し、その後さまざまな演算子で操作できます。これにより、データベース内の日付データを柔軟かつ効率的に扱うことが可能です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?