nodeJS + mongoDB のバックエンドで実行される Web サイトを実行しています。現在、データベースに必要ないくつかのアイコン (小さな画像ファイル) を保存するシステムを実装しています。
私の理解では、GridFS は大きなファイルまたは多数のファイルに合わせて調整されているように見えるため、使用しない方が理にかなっています。保存する必要があるすべてのファイルは、BSON の最大ファイル サイズを十分に下回るため、通常のドキュメントに直接保存できるはずです。
2 つの質問があります。
1) 私の推論は正しいですか? GridFS とは対照的に、通常の mongo コレクション内に画像ファイルを保存しても問題ありませんか? ここで、私がすべきだと考えていないことはありますか?
2) 私の思考プロセスが正しい場合、どうすればこれを行うことができますか? 次のようなことができますか?
//assume 'things' is a mongoDB collection created properly using node-mongodb-driver
fs.readFile(pathToIconImage, function(err,image){
things.insert({'image':image}, function(err,doc){
if(err) console.log('you have an error! ' + err);
});
});
mongoDB は BSON を使用しており、ここではファイルをデータベースに送信する前に JSON で保存しようとしているため、おそらくこれを行うためのより良い方法があると思います。また、このコードが機能するかどうかもわかりません (試していません)。
更新 - 新しい質問
1) 名前、2) 日付、3) 画像ファイル (上のアイコン) の 3 つの情報が保存されているコレクション内のドキュメントがあり、このドキュメントを順番にクライアントに送信したい場合3つすべてを表示するには、これは可能ですか? そうでない場合は、GridFS を使用して、イメージ自体の代わりに fileID を保存する必要があると思います。考え/提案?
最高です。返信ありがとうございます、
サミ