MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

menyimpan gambar ke mongodb

Anda tidak perlu GridFS untuk menyimpan file di MongoDB, tapi itu pasti membuatnya menjadi pengalaman yang lebih baik, karena menangani pemisahan dan penyimpanan data biner, sambil membuat metadata juga tersedia. Anda kemudian dapat menyimpan ID di User dokumen ke gambar avatar.

Selain itu, Anda juga dapat menyimpan data biner langsung di dokumen Anda, meskipun dalam kode Anda tidak menyimpan data. Anda cukup membukanya dengan PIL.Image , tapi kemudian tidak melakukan apa-apa.

Dengan asumsi Anda menggunakan pymongo untuk driver Anda, saya pikir yang dapat Anda lakukan hanyalah membungkus data biner dalam Binary wadah, dan kemudian menyimpannya. Ini belum diuji oleh saya, tetapi saya menganggap itu akan berhasil:

from pymongo.binary import Binary

binary_avatar = Binary(avat)

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

Sekarang sedang dikatakan... buatlah diri Anda lebih mudah dan gunakan GridFS. Itulah gunanya.

Jika Anda menggunakan GridFS, tampilannya mungkin seperti ini:

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. Masukkan file json ke mongodb

  2. Membuat Data Uji untuk MongoDB

  3. Apa jalur database default untuk MongoDB?

  4. Adakah yang mencoba MongoDB di Google App Engine?

  5. Ulangi semua koleksi Mongo dan jalankan kueri