MongoDBから画像を提供しないことを強くお勧めします。
それらを静的ファイルストア(S3)に保存し、MongoDBにパスを保持することをお勧めします。
おそらくbase64エンコーディングを使用してファイルをmongodbに配置します: http://www.greywyvern .com / code / php / binary2base64 / (またはbase64シェルユーティリティのみ)。
通常のドキュメントのみを使用している場合、パフォーマンスコストは比較的低くなります(キャッシュが適切である限り)。 GridFSと通常のドキュメントがある混合データベースを使用している場合は、サーバーに大量のRAMが必要になります。GridFSクエリはドキュメントクエリとはまったく異なる方法で実行されます。
画像の変換は次のように機能する可能性があります:
var base64Data = imagefile.replace(/^data:image\/png;base64,/,""),
var dataBuffer = new Buffer(base64Data, 'base64');
// below line won't actually work but it's something along the lines of what you want:
db.foo.insert({magic: 123, etc... img: dataBuffer.toString()})