无法使用 mgo 按 ObjectId 从 MongoDB 获取数据
Can not get data by ObjectId from MongoDB using mgo
我有一个PersonalAccount
类型
type PersonalAccount struct {
ID bson.ObjectId `json:"id" bson:"_id,omitempty"`
}
然后我通过 HTTP 请求得到一个编组 PersonalAccount
,当我检查 ID 类型时,数据被成功解组。
这是一个bson.ObjecID
问题出在我尝试以下代码时:
var m PersonalAccount = unmarshaledAccount
mgo.DB("dbname").C("colname").FindId(m.ID)
它 returns 一个错误,表示找不到它。
我也试过:
var m PersonalAccount = unmarshaledAccount
mgo.DB("dbname").C("colname").Find(bson.M{"_id": m.ID})
但运气不好。
你可以试试这个
c.FindId(bson.M{"_id": bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")})
也许它会解决你的问题
我有一个PersonalAccount
类型
type PersonalAccount struct {
ID bson.ObjectId `json:"id" bson:"_id,omitempty"`
}
然后我通过 HTTP 请求得到一个编组 PersonalAccount
,当我检查 ID 类型时,数据被成功解组。
这是一个bson.ObjecID
问题出在我尝试以下代码时:
var m PersonalAccount = unmarshaledAccount
mgo.DB("dbname").C("colname").FindId(m.ID)
它 returns 一个错误,表示找不到它。
我也试过:
var m PersonalAccount = unmarshaledAccount
mgo.DB("dbname").C("colname").Find(bson.M{"_id": m.ID})
但运气不好。
你可以试试这个
c.FindId(bson.M{"_id": bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")})
也许它会解决你的问题