dpge74512 2017-01-21 11:26
浏览 371
已采纳

无法使用mgo从MongoDB通过ObjectId获取数据

I have a PersonalAccount type as

type PersonalAccount struct {
        ID        bson.ObjectId   `json:"id" bson:"_id,omitempty"`
}

then I get a marshaled PersonalAccount through an HTTP request, and the data is unmarshaled successfully and when I check the ID type. It is a bson.ObjecID

The problem is when I try the code below:

var m PersonalAccount = unmarshaledAccount
mgo.DB("dbname").C("colname").FindId(m.ID)

It returns an error that says it is not found.

I have also tried:

var m PersonalAccount = unmarshaledAccount
mgo.DB("dbname").C("colname").Find(bson.M{"_id": m.ID})

but with no luck.

  • 写回答

1条回答 默认 最新

  • doupingmao1903 2017-01-21 17:15
    关注

    You can try this

    c.FindId(bson.M{"_id": bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")})
    

    may be it will solve your problem

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 爬去app图片链接这是加密了吗 怎么解(语言-java)
  • ¥50 请教Windows server 2012 R2的DCOM配置问题
  • ¥15 adasis v3中LaneConnectivity
  • ¥20 jsp在SpringMVC框架中手动设置域对象失效的场景
  • ¥15 stc -isp烧录时显示通信超时
  • ¥15 VS2022的代码折叠加减号不见了怎么办?
  • ¥15 电脑登录粤政易软件,二维码一直空白,或账号密码登录提示服务器登录失败,是什么原因(相关搜索:防火墙)
  • ¥30 微博热门内容爬虫报错
  • ¥15 selenium获取非固定位置的元素
  • ¥50 手写签名不能上传的问题