小编man*_*and的帖子

如何使用mgo和Go查询具有日期范围的MongoDB?

嗨,我有一个名为"my_sales"的集合,其字段为product_name,price,sale_date.

我的文档看起来像

{
    "_id" : ObjectId("5458b6ee09d76eb7326df3a4"),
    "product_name" : product1,
    "price" : 200,
    "sale_date" : ISODate("2014-11-04T11:22:19.589Z")
}
{
    "_id" : ObjectId("5458b6ee09d76eb7326df3a4"),
    "product_name" : product1,
    "price" : 200,
    "sale_date" : ISODate("2014-11-04T11:22:19.589Z")
}
{
    "_id" : ObjectId("5458b6ee09d76eb7326df3a4"),
    "product_name" : product1,
    "price" : 200,
    "sale_date" : ISODate("2014-11-04T11:22:19.589Z")
}
{
    "_id" : ObjectId("5458b6ee09d76eb7326df3a4"),
    "product_name" : product1,
    "price" : 200,
    "sale_date" : ISODate("2014-11-05T11:22:19.589Z")
}
Run Code Online (Sandbox Code Playgroud)

我试过像这样的mongo shell

 db.my_sales.find({ sale_date: { $gt: ISODate("2014-11-04"), $lt: new ISODate("2014-11-05") });
Run Code Online (Sandbox Code Playgroud)

它给出了正确的结果.现在我需要使用golang查询相同的东西我试过这样

 var sales_his []Sale
 err := c.Find(bson.M{"sale_date":bson.M{ "$gt": "ISODate("+date_from+")", "$lt": "ISODate("+date_to+")" …
Run Code Online (Sandbox Code Playgroud)

go mongodb mgo

15
推荐指数
1
解决办法
1万
查看次数

如何使用golang在mongodb中获取不同的值

我尝试从我的集合中检索具有唯一ID的文档.

我有一个字段集合:名称,年龄,城市和等级.我想使用golang从mongodb获得'city'结果.

我的结构代码

type exp struct {
    name string `bson:"name"`
    age  int    `bson:"age"`
    city string `bson:"city"`
    rank int    `bson:"rank"`
}
Run Code Online (Sandbox Code Playgroud)

使用以下代码从mongodb检索结果:

var result []exp //my struct type

err = coll.Find(bson.M{"City":bson.M{}}).Distinct("City",&result)

fmt.Println(result)
Run Code Online (Sandbox Code Playgroud)

使用此代码,我得到一个空数组作为结果.我怎么能到达所有城市?

go mongodb mgo

8
推荐指数
1
解决办法
4757
查看次数

标签 统计

go ×2

mgo ×2

mongodb ×2