当我使用 grid.put() 将文件写入 GridFS 时,它与之前存储的文件具有相同的文件名,第一个文件将被覆盖。相同的文件名实际上只能在数据库中存在一次,还是我做错了什么?
我的代码如下所示:
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) {
});
});
});
我认为该文件是由 ._id ObjectId 指定的,而不是由文件名指定的。我错了吗?
谢谢你的帮助!