dtcyv3985 2016-09-20 02:25
浏览 331

$ oto中的$ dateToString不起作用

I wrote the code in Go. I have a mongodb query in mgo that has made me busy for 3 days and still fighting with it.

Though a query with mongo shell works, mongodb query with mgo does not work.

Below query and result are made with mongo shell.

// Query
db.getCollection("TEST").aggregate([
{
    "$match": {
        "date": {"$gte": new Date("2016-06-28"), "$lte": new Date("2016-06-29")},
    }
},
{
    "$project": {
        "_id": false,
        "date": {"$dateToString": {"format": "%Y%m%d", "date":"$date"}},
    },
},
]);


// Result
{
"date" : "20160628",
}
{
"date" : "20160629",
}

Below query and result are made with mgo. It doesn't work.

// Query
matchQuery := bson.M{}
matchQuery["date"] = bson.M{
    "$gte": time.Date(2016, 6, 28, 0, 0, 0, 0, time.UTC),
    "$lte": time.Date(2016, 6, 29, 23, 59, 59, 0, time.UTC),
}
projectQuery := bson.M{
    "_id": false,
    "date": bson.M{
        "$dateToString": bson.M{"format": "%Y%m%d", "date": "$date"},
    },
}
pipeline := []bson.M{
    {"$match": matchQuery},
    {"$project": projectQuery},
}


// Result
{
    "date": "0001-01-01T00:00:00Z",
},

{
    "date": "0001-01-01T00:00:00Z",
}

How can I work $dateToString correctly?

  • 写回答

1条回答 默认 最新

  • duanqun7761 2016-09-23 01:15
    关注

    I solved it. It was my mistake. I post the answer so that anyone does not make a mistake like me. I didn't change variable type from "time.Time" to "string" like below.

    //Old
    type content struct {
        Date  time.Time `bson:"date" json:"date"`
    }
    
    //New
    type content struct {
        Date  string `bson:"date" json:"date"`
    }
    

    Thanks :)

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况