こんにちは、node.js を使用して mongodb にファイルを保存する必要があります。ファイルはデスクトップに配置されているので、mongodb データベースに保存する必要があります。高く評価される
13064 次
2 に答える
4
ファイル サイズが Mongo の最大ドキュメント サイズである 16Mb を超える場合、ファイルを DB に格納するには、gridFS を使用する必要があります。
ここに gridFS を使用する理由の非常に便利な概要があります: http://docs.mongodb.org/manual/faq/developers/#faq-developers-when-to-use-gridfs
ノードでの実装に関して (nativ mongo ドライバーを使用している場合):
var mongodb = require('mongodb')
, MongoClient = mongodb.MongoClient
, Grid = mongodb.Grid //use Grid via the native mongodb driver
;
接続をセットアップしたら、ファイルを gridFs に書き込むときに
var grid = new Grid(db, 'fs'); //db being a handle to your database
var buffer = //read the file in to a buffer
//write the buffer out to mongo
grid.put(buffer, {metadata:{category:'text'}, content_type: 'text'}, function(err, fileInfo) {
if(err) {
//handle any errors here
}
});
于 2012-12-24T13:05:09.203 に答える
2
大きなファイルをMongoに保存することはお勧めしませんが、可能ではありますが、小さいファイルの方が適しています。
ファイルのテキスト(テキストファイルの場合)またはバイナリ(バイナリ形式、つまり実行可能ファイルの場合)を読み取るだけです。ライブラリを使用しfs
てファイルを読み取り、それに応じてエンコードすることができます。
次に、変数に格納されているデータをデータベース内に挿入します。
var fs = require('fs');
// Read file with proper encoding...
var data = //...
// Insert into Mongo
mongo.insert({file: data});
データベースからファイルを取得する場合は、逆の操作を行います。エンコード/デコードのプロセスは、ファイルの種類によって異なります。
于 2012-12-24T06:31:23.573 に答える