mgo と Go を使用して、日付範囲を指定して MongoDB にクエリを実行するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-05 16:35:02
オリジナル
479 人が閲覧しました

How do you Query MongoDB with Date Range using mgo and Go?

mgo と Go を使用した日付範囲による MongoDB のクエリ

MongoDB の強力なクエリ機能により、日付などの特定の条件に基づいてデータを正確にフィルタリングできます。範囲。 MongoDB 用の人気のある Go ライブラリである mgo を使用すると、日付範囲内のクエリは簡単です。

次の MongoDB ドキュメントについて考えてみましょう:

{
    "_id" : ObjectId("5458b6ee09d76eb7326df3a4"),
    "product_name" : "product1",
    "price" : 200,
    "sale_date" : ISODate("2014-11-04T11:22:19.589Z")
}
ログイン後にコピー

特定の日付範囲内で販売されたドキュメントについてこのドキュメントをクエリするには、次の手順を実行できます:

  1. 販売データの Go 構造体を作成:

    <code class="go">type Sale struct {
        ProductName string    `bson:"product_name"`
        Price       int       `bson:"price"`
        SaleDate    time.Time `bson:"sale_date"`
    }</code>
    ログイン後にコピー
  2. 文字列からの日付範囲の解析:

    <code class="go">fromDate, err := time.Parse(timeLayout, dateFrom)
    if err != nil {
        return err
    }
    toDate, err := time.Parse(timeLayout, dateTo)
    if err != nil {
        return err
    }</code>
    ログイン後にコピー
  3. 日付範囲を使用したクエリ:

    <code class="go">var sales []Sale
    err = c.Find(
        bson.M{
            "sale_date": bson.M{
                "$gt": fromDate,
                "$lt": toDate,
            },
        },
    ).All(&amp;sales)</code>
    ログイン後にコピー

$gt および $lt MongoDB 演算子を利用することにより、クエリは、sale_date フィールドが fromDate を超え、toDate に満たないドキュメントを選択し、指定された日付範囲内の売上を効果的にフィルタリングします。

以上がmgo と Go を使用して、日付範囲を指定して MongoDB にクエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート