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 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
  • ¥15 Mac(标签-IDE|关键词-File) idea
  • ¥15 潜在扩散模型的Unet特征提取
  • ¥15 iscsi服务无法访问,如何解决?
  • ¥15 感应式传感器制作的感应式讯响器
  • ¥15 如何使用SC92F8003固件库解析私有协议数据?
  • ¥15 如何在音频中嵌入字符串(水印)信息进行传递
  • ¥30 plc怎么以设计说明书申请软著
  • ¥15 硬盘识别不了,需要初始化,可我的数据怎么办