Ci sono un paio di soluzioni. Puoi usare writeBuffer, writeFile o la nuova classe grid semplice. Sotto è il tuo esempio aggiustato per il fatto di utilizzare un'istanza buffer.
// You can use an object id as well as filename now
var gs = new mongodb.GridStore(this.db, filename, "w", {
"chunk_size": 1024*4,
metadata: {
hashpath:gridfs_name,
hash:hash,
name: name
}
});
gs.open(function(err,store) {
// Write data and automatically close on finished write
gs.writeBuffer(data, true, function(err,chunk) {
// Each file has an md5 in the file structure
cb(err,hash,chunk);
});
});
In generale, il miglior punto di partenza sono i test che coprono un ampio profilo di utilizzo per le classi gridfs. Guarda.
https://github.com/christkv/node-mongodb-native/tree/master/test/gridstore