Go刚开始使用,我在使用mgo时遇到了困难。我正在使用mgo来获取如下文件:
gridfs := db.GridFS("fs")
allFiles := gridfs.Find(nil).Iter()
然后我使用返回的迭代器
var f *mgo.GridFile
for gridfs.OpenNext(allFiles, &f) {
//use f.Id()
}
我想开始将f.Id()用作字符串,但无法转换。我发现的一种方法是使用fileId := (f.Id().(bson.ObjectId)).Hex()
,它只能让我编译,但在运行时由于消息失败interface conversion: interface {} is bson.ObjectId, not bson.ObjectId
已经花了很多时间,如果不能使用进行转换,我绝对愿意改变获取文件的方式GridFile
。我将不胜感激。谢谢。
@icza的正确答案。我有2个版本的mgo。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句