У меня есть функция сохранения файла в gridfs. Он как-то перестал работать спорадически после рефакторинга, и я потратил более 2 часов, тупо уставившись на него. Клянусь, это примерно так же, как и было. Кажется, я помню, что сначала он не работал, прежде чем я добавил close, потом он начал работать, но это может быть бессонница. По сути, проблема в том, что в коллекции db.fs.files нет записей, но куски добавляются в db.fs.chunks.
data - это буфер, загружаемый с диска через fs.readFile ()
31 var gs = new mongodb.GridStore(this.db, filename, "w", {
32 "chunk_size": 1024*4,
33 metadata: {
34 hashpath:gridfs_name,
35 hash:hash,
36 name: name
39 }
40 });
41 gs.open(function(err,store) {
42 gs.write(data,function(err,chunk) {
43 //cb(err,hash,chunk);
44 //self.close();
45 });
46 });