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