首頁 >後端開發 >Golang >如何使用 Mgo 和 Go 查詢具有日期範圍的 MongoDB 集合?

如何使用 Mgo 和 Go 查詢具有日期範圍的 MongoDB 集合?

Patricia Arquette
Patricia Arquette原創
2024-11-08 01:57:02950瀏覽

How to Query a MongoDB Collection with a Date Range Using Mgo and Go?

使用Mgo 和Go 查詢具有日期範圍的MongoDB

您在使用以下方法查詢具有日期範圍的MongoDB 集合時遇到了挑戰Go 中的Mgo 函式庫。儘管在 MongoDB shell 中正常運作,但您的查詢未傳回預期結果。

要解決此問題,請考慮以下解決方案:

在Go 中處理日期/時間值

Mgo 支援time.Time 處理BSON日期。在 Go 結構體中,定義 SaleDate 字段,如下所示:

<code class="go">type Sale struct {
    ProductName string    `bson:"product_name"`
    Price       int       `bson:"price"`
    SaleDate    time.Time `bson:"sale_date"`
}</code>

構造查詢

定義結構體後,您可以使用 bson 構造查詢。 M:

<code class="go">fromDate := time.Date(2014, time.November, 4, 0, 0, 0, 0, time.UTC)
toDate := time.Date(2014, time.November, 5, 0, 0, 0, 0, time.UTC)

var sales_his []Sale
err = c.Find(
    bson.M{
        "sale_date": bson.M{
            "$gt": fromDate,
            "$lt": toDate,
        },
    }).All(&sales_his)</code>

在此查詢中,我們使用 $gt 和 $lt 運算子來指定日期範圍。 fromDate 和 toDate 變數的類型為 time.Time。

透過實作這些更改,您應該能夠使用 Mgo 和 Go 成功查詢具有日期範圍的 MongoDB 集合。

以上是如何使用 Mgo 和 Go 查詢具有日期範圍的 MongoDB 集合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn