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

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

报告相同问题?