以前に保存されたファイルと同じファイル名を持つgrid.put()を使用してGridFSにファイルを書き込んでいると、最初のファイルが上書きされます。同じファイル名がデータベースに1回しか存在できないというのは本当ですか、それとも何か間違ったことをしていますか?
私のコードは次のようになります:
var mongo = require('mongodb'),
Server = mongo.Server,
Db = mongo.Db,
Grid = mongo.Grid;
server = new Server('localhost', 27017, {auto_reconnect: true});
db = new Db('mydb', server);
db.open(function(err, db) {
var buffer = new Buffer("This is the first sample text");
grid.put(buffer, {metadata:{}, filename: "test.txt", content_type: 'text'}, function(err, fileInfo) {
buffer = new Buffer("This is the second sample text");
// now this overwrites the first one...
grid.put(buffer, {metadata:{}, filename: "test.txt", content_type: 'text'}, function(err, fileInfo) {
});
});
});
ファイルはファイル名ではなく._idObjectIdによって一意に指定されていると思いました。私が間違っている?
ご協力いただきありがとうございます!