无法更改 MongoDB 中的 chunkSize

问题描述

我已经部署了一个 MongoDB,它是我的 Parse 服务器的数据库。但是我无法使用 parse-android-sdk 中的 parseFile.saveFileInBackground() 函数将超过 700 KB 的文件上传到解析服务器。 callback抛出的异常是I/O Failure,原因是timeout。我考虑了太多问题,我想出可能改变文件在 MongoDB 中划分的认块大小,可以解决一些问题。我在 MongoDB shell 中使用了 db.settings.save( { _id:"chunkSize",value: <size-in-magabyte> } )。但是我真的感觉不到任何变化。执行此命令后,MongoDB 中 chunkSize 类下存储的条目的 files.fs 字段仍与之前相同,261120。我真正想做的是将此 261120 更改为 358400。我希望我的文件是分成大小为 358400 字节而不是 261120 的块。任何帮助将不胜感激。

解决方法

我设法将 mongodb 块大小从默认值 261120 字节块更改为 3000000 字节块。我正在使用 multer gridfs 存储,下面是我为增加块大小所做的代码:

const storage = new GridFsStorage({
  db: connection,file: (req,file) => {
    return new Promise(resolve => {
    const fileInfo = {
      filename: file.originalname,bucketName: "file_uploads",chunkSize: 3000000
    };
    resolve(fileInfo);
  });
  }
});