非常に新しくなっているので、私はmgoを使用するのに苦労しています。 は、私はこのようなファイルを取得するために酸化マグネシウムを使用しています:mgoのGridFileからIdの文字列値を抽出する
gridfs := db.GridFS("fs")
allFiles := gridfs.Find(nil).Iter()
をそして私は、私は文字列としてf.Idを()を使用して開始したい
var f *mgo.GridFile
for gridfs.OpenNext(allFiles, &f) {
//use f.Id()
}
のような返されたイテレータを使用しますが、私はできないのです変換する。私が見つけた方法の一つは、ちょうど私がコンパイルできますが、メッセージinterface conversion: interface {} is bson.ObjectId, not bson.ObjectId
は既にこの上に多くの時間を過ごして、実行時に失敗しfileId := (f.Id().(bson.ObjectId)).Hex()
を使用することによって、私は間違いなく私がファイルであればフェッチ方法を変更することに開いていました。 GridFile
を使用して変換できません。 私はこれに助けていただきありがとうございます。ありがとう。
あなたのプロジェクトに複数のバージョンの 'mgo'があるかもしれません。あなたはあなたの輸入品をチェックしてポストすることができますか? 'mgo'のバージョンが複数ある場合は、Goのワークスペースを確認してください。 – icza
@iczaそれだった。あまりにも多くの時間を費やしているので、迷惑を感じる。あなたの助けに感謝します。これを返信としてマークします –