从mgo GridFile中提取Id的字符串值

时间:2017-11-20 10:25:35

标签: go mgo

对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()作为String但我无法转换。我发现的一种方法是使用fileId := (f.Id().(bson.ObjectId)).Hex()只允许我编译但在运行时失败并显示消息interface conversion: interface {} is bson.ObjectId, not bson.ObjectId

已经花了很多时间在这上面,如果使用GridFile无法进行转换,我绝对愿意改变我获取文件的方式。 我很感激任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

@icza的正确回答。我有两个版本的mgo。