3

こんにちは、node.js を使用して mongodb にファイルを保存する必要があります。ファイルはデスクトップに配置されているので、mongodb データベースに保存する必要があります。高く評価される

4

2 に答える 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 に答える