Има няколко решения. Можете да използвате writeBuffer, writeFile или новия прост грид клас. Под е вашият пример коригиран за факта на използване на буферен екземпляр.
// 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);
});
});
Като цяло най-доброто място за начало са тестовете, които покриват широк профил на използване за класовете gridfs. Вижте.
https://github.com/christkv/node-mongodb-native/tree/master/test/gridstore