sql >> データベース >  >> NoSQL >> MongoDB

画像をmongodbに保存する

    MongoDBにファイルを保存するためにGridFSは必ずしも必要ではありませんが、メタデータも利用できるようにしながら、バイナリデータの分割と保存を処理するため、GridFSは確かに優れたエクスペリエンスになります。その後、IDをUserに保存できます アバター画像に文書化します。

    それはさておき、コードではデータを保存していませんが、バイナリデータをドキュメントに直接保存することもできます。 PIL.Imageで開くだけです 、しかしそれでは何もしません。

    pymongoを使用していると仮定します あなたのドライバーにとって、あなたができることは、バイナリデータをBinaryでラップすることだと思います コンテナに入れて保管します。これは私によってテストされていませんが、機能するはずです:

    from pymongo.binary import Binary
    
    binary_avatar = Binary(avat)
    
    user={
        ...
        "avatar":avatar,
        "avatar_file": binary_avatar
        ...
    }
    

    言われていることですが...自分で簡単にしてGridFSを使用してください。それが意味するところです。

    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. 非同期関数node.jsからの戻り値

    2. RedisがサポートするASP.NETSessionStateプロバイダー

    3. 文字列をMongoDBのサブ文字列または文字の配列に分割します

    4. ConnectionMultiplexer.Connectは、Redisサーバーへの接続中に中断します