Mgo と Go を使用して日付範囲を指定して MongoDB をクエリする
Go の Mgo ライブラリ。 MongoDB シェルで正しく動作しているにもかかわらず、クエリが予期した結果を返しません。
この問題を解決するには、次の解決策を検討してください:
Go での日付/時刻値の処理
Mgo は、BSON 日付を処理するための time.Time をサポートしています。 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 中国語 Web サイトの他の関連記事を参照してください。