मैं MongoDB से छवियों की सेवा के खिलाफ दृढ़ता से सलाह दूंगा।
बेहतर होगा कि उन्हें एक स्थिर फाइलस्टोर (S3) पर स्टोर किया जाए और शायद पथ को MongoDB में रखा जाए।
फ़ाइल को मोंगोडब में डालने के लिए आप शायद बेस 64 एन्कोडिंग का उपयोग करेंगे:.com/code/php/binary2base64/ (या सिर्फ बेस 64 शेल यूटिलिटी)।
यदि आप केवल नियमित दस्तावेज़ों का उपयोग कर रहे हैं तो प्रदर्शन लागत अपेक्षाकृत कम है (जब तक कैशिंग अच्छा है)। यदि आप एक मिश्रित डेटाबेस का उपयोग कर रहे हैं जहाँ आपके पास 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()})