MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

तस्वीर को मोंगोडब में सहेजा जा रहा है

आपको मोंगोडीबी में फाइलों को संग्रहीत करने के लिए ग्रिडएफएस की आवश्यकता नहीं है, लेकिन यह निश्चित रूप से इसे एक अच्छा अनुभव बनाता है, क्योंकि यह मेटाडेटा को उपलब्ध कराने के दौरान बाइनरी डेटा के विभाजन और बचत को संभालता है। फिर आप अपने User . में एक आईडी स्टोर कर सकते हैं अवतार चित्र के लिए दस्तावेज़।

इसके अलावा, आप सीधे अपने दस्तावेज़ों में बाइनरी डेटा भी स्टोर कर सकते हैं, हालांकि आपके कोड में आप डेटा को सहेज नहीं रहे हैं। आप बस इसे PIL.Image . के साथ खोल रहे हैं , लेकिन फिर इसके साथ कुछ नहीं कर रहे हैं।

मान लें कि आप pymongo . का उपयोग कर रहे हैं आपके ड्राइवर के लिए, मुझे लगता है कि आप क्या कर सकते हैं बस बाइनरी डेटा को Binary . में लपेटें कंटेनर, और फिर इसे स्टोर करें। यह मेरे द्वारा परीक्षण नहीं किया गया है, लेकिन मुझे लगता है कि इसे काम करना चाहिए:

from pymongo.binary import Binary

binary_avatar = Binary(avat)

user={
    ...
    "avatar":avatar,
    "avatar_file": binary_avatar
    ...
}

अब यह कहा जा रहा है... बस इसे अपने लिए आसान बनाएं और GridFS का उपयोग करें। इसका मतलब यही है।

यदि आप ग्रिडएफएस का उपयोग करते हैं, तो यह ऐसा दिखाई दे सकता है:

from gridfs import GridFS

avat_ctype = self.request.files['avatar'][0]["content_type"]

fs = GridFS(db)
avatar_id = fs.put(avat, content_type=avat_ctype, filename=nomfich)

user={
    ...
    "avatar_name":avatar,
    "avatar_id": avatar_id
    ...
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोइड:आईडी के सरणी के माध्यम से खोजें

  2. MongoDb कोड 100 के साथ बंद हो जाता है

  3. सूची में टैग के साथ दस्तावेज़ प्राप्त करें, मैचों की कुल संख्या के अनुसार आदेश दें

  4. स्वचालित डेटाबेस कॉन्फ़िगरेशन जाँच

  5. अपने नए बनाए गए MongoDB उदाहरणों में डेटा आयात करें