2017-11-20 7 views
0

이동하기가 아주 쉽습니다. mgo를 사용하는 데 어려움을 겪고 있습니다. 나는 이런 식으로 파일을 가져 오기 위해 산화 마그네슘을 사용하고 있습니다 :mgo GridFile에서 ID의 문자열 값을 추출합니다.

gridfs := db.GridFS("fs") 
allFiles := gridfs.Find(nil).Iter() 

을 그리고 나는 String으로 f.Id()를 사용하여 시작하려는

 var f *mgo.GridFile 
     for gridfs.OpenNext(allFiles, &f) { 

      //use f.Id() 
     } 

같은 반환 된 반복자를 사용하지만 제가 드릴 수 없습니다 변환하다. 내가 찾은 방법 중 하나는 을 사용하여 컴파일 만 할 수 있지만 메시지가 런타임에 실행되지 않는다는 것입니다. interface conversion: interface {} is bson.ObjectId, not bson.ObjectId

많은 시간을 이미 썼지 만 파일을 가져 오는 방법을 바꾸는 데는 분명히 열려 있습니다. GridFile을 사용하면 변환 할 수 없습니다. 감사합니다. 감사.

+1

프로젝트에 여러 버전의'mgo'가있을 수 있습니다. 가져 오기를 확인하고 게시 할 수 있습니까? 'mgo'의 버전이 여러 개인 경우 Go 작업 공간을 확인하십시오. – icza

+0

@icza 그게 다야. 너무 많은 시간을 보내면서 짜증이났다. 도와 주셔서 정말로 고맙습니다. 이 질문에 대답하지 않음 –

답변

0

정답 @icza. 나는 2 가지 버전의 mgo를 가졌다.

+0

이 질문을 "대답하지 않은"목록에 표시하지 않으려면이 대답을 수락하십시오. –