Existem algumas soluções. Você pode usar writeBuffer, writeFile ou a nova classe de grade simples. Abaixo está o seu exemplo ajustado para o fato de usar uma instância de 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);
});
});
Em geral, o melhor lugar para começar são os testes que cobrem um amplo perfil de uso para as classes gridfs. Olhe para a.
https://github.com/christkv/node-mongodb-native/tree/master/test/gridstore