使用 mgo 和 Go 查询 MongoDB 的日期范围
MongoDB 强大的查询功能允许根据特定条件(包括日期)精确过滤数据范围。使用 mgo(一个流行的 MongoDB Go 库),在日期范围内查询非常简单。
考虑以下 MongoDB 文档:
{ "_id" : ObjectId("5458b6ee09d76eb7326df3a4"), "product_name" : "product1", "price" : 200, "sale_date" : ISODate("2014-11-04T11:22:19.589Z") }
要查询此文档以获取在特定日期范围内销售的文档,可以采取以下步骤:
为销售数据创建 Go 结构:
<code class="go">type Sale struct { ProductName string `bson:"product_name"` Price int `bson:"price"` SaleDate time.Time `bson:"sale_date"` }</code>
从字符串中解析日期范围:
<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>
使用日期范围查询:
<code class="go">var sales []Sale err = c.Find( bson.M{ "sale_date": bson.M{ "$gt": fromDate, "$lt": toDate, }, }, ).All(&sales)</code>
通过利用 MongoDB 运算符 $gt 和 $lt ,查询选择 sale_date 字段超过 fromDate 且小于 toDate 的文档,有效过滤指定日期范围内的销售。
以上是如何使用 mgo 和 Go 查询 MongoDB 的日期范围?的详细内容。更多信息请关注PHP中文网其他相关文章!