2014-05-21 2 views
1

그래서 GridFS를 사용하여 파일을 업로드 할 때마다 파일 크기가 포함 된 http://docs.mongodb.org/manual/reference/gridfs/#gridfs-files-collection 메타 데이터가 첨부됩니다.mongodb 컬렉션에서 GridFS 파일의 파일 크기를 얻는 방법은 무엇입니까?

나는 carrierwave-mongoid gem을 사용하여 파일을 업로드하고 있으며 파일 이름을 나열한 색인 페이지가 있으며 파일을 다운로드 할 수 있습니다.

모든 파일의 파일 크기를 알아야합니다. 내 질문은, 어떻게 모든 파일의 파일 크기를 얻을 수 있습니까? Ruby를 통해 이미 gridfs 파일 메타 데이터에있는 정보 인 그 정보를 어떻게 얻을 수 있습니까?

+0

사실 루비 사용자는 아니지만 적어도 db.fs.files 컬렉션에서 가져올 수 있다고 생각합니다. length 속성은 파일 길이를 나타냅니다. – yaoxing

답변

0

은 예 파일 크기는 당신이 몽고에 액세스 할 파일의 정보 중 일부 식별 조각을 잡아해야합니다 mongo docs

에 따라 파일 컬렉션에서 length로 저장됩니다. 몽고 워드 프로세서는 filename: "<your_file_name>"을 사용하여 표시합니다. file _id -

myid = BSON::ObjectId.from_string("57898fa2b5e1b565d4b9b5c8") 
result = fs_bucket.find(_id: myid).to_json 
obj = JSON.parse(result) 
puts obj 

정상적으로 json으로 액세스 할 수 있습니다.

관련 문제