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

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

Patricia Arquette
發布: 2024-11-08 01:57:02
原創
954 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板