不,您不应该一次在内存中完全读取文件,因为当文件太大时,这会中断。GridFS.Create文档中的第二个示例避免了此问题:
file, err := db.GridFS("fs").Create("myfile.txt")check(err)messages, err := os.Open("/var/log/messages")check(err)defer messages.Close()err = io.Copy(file, messages)check(err)err = file.Close()check(err)至于为什么它比其他东西慢,在不深入研究所使用的两种方法的细节的情况下很难说出来。



