当前位置:  开发笔记 > 编程语言 > 正文

MongoDB GridFS使用Node.JS保存文件的问题

如何解决《MongoDBGridFS使用Node.JS保存文件的问题》经验,为你挑选了1个好方法。

我有一个函数将文件保存到gridfs.在某个重构之后它以某种方式停止了零星的工作,我花了两个多小时茫然地盯着它.我发誓它和它一样大致相同.我似乎记得它在我加入之前没有工作,然后它开始工作,但它可能是失眠.基本上问题是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    });

小智.. 6

有几种解决方案.您可以使用writeBuffer,writeFile或新的简单网格类.Under是您使用缓冲区实例调整的示例.

// 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



1> 小智..:

有几种解决方案.您可以使用writeBuffer,writeFile或新的简单网格类.Under是您使用缓冲区实例调整的示例.

// 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

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有