为了账号安全,请及时绑定邮箱和手机立即绑定

当键包含大写时,无法使用 mgo 检索值

当键包含大写时,无法使用 mgo 检索值

Go
潇湘沐 2021-10-18 16:13:05
来自 mongoDB 的一项数据是{    "_id" : ObjectId("5536def4e4b0644323e219a8"),    "title" : "The Title",    "description" : "The Description",    "timeStamp" : "21/04/2015",    "category" : "news",    "url" : "http://www.example.com",    "source" : "Evening Times",    "mainStory" : "This is the main story."}在我的代码中,结构是type NewsData struct {    Title       string `bson: "title" json: "title"`    TimeStamp   string `bson: "timeStamp" json: "timeStamp"`    Description string `bson: "description" json: "description"`    MainStory   string `bson: "mainStory" json:"mainStory"`}然后我用下面的代码来提取信息err = conn.Find(nil).Select(bson.M{"title": 1, "timeStamp": 1, "description": 1, "mainStory": 1}).All(&result)但是,当我打印result出来时,timeStampand 的mainStory值为空。我查了文档,说mgo是把key取小写的,所以mongoDB的key如果是大写的,就出问题了。我该如何解决这个问题?
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

字段标记中存在语法错误。删除字段标记中 ':' 和 '"' 之间的空格。

TimeStamp   string `bson:"timeStamp" json:"timeStamp"`

字段标记的语法是无情的。

与此问题分开,您可能应该添加

ID bson.ObjectId `bson:"_id"`

应用程序可以访问该结构的对象 id。


查看完整回答
反对 回复 2021-10-18
  • 1 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信