dpge74512
2017-01-21 11:26 阅读 172

无法使用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 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

    点赞 评论 复制链接分享

相关推荐