错误 ReferenceError: ObjectID 未定义

新手上路,请多包涵

我想用 GridJS 上传图片。我为此使用 https://www.npmjs.org/package/gridfs-stream 。它给了我 error ReferenceError: ObjectID is not defined

我是初学者,所以不知道发生了什么。

如何解决这个错误?

 var Grid = require('gridfs-stream');
    var conn = mongoose.createConnection('localhost', 'Test', 27017);
    var gfs = Grid(conn.db, mongoose);

    var fileId = new ObjectID(uniqId);
    var fileType = req.header('X-File-Type');
    var fileName = req.header('X-File-Name');
    var uniqId = req.param('uniqId', '112211112111');

    console.log('upload start');
    // streaming to gridfs
    var writestream = gfs.createWriteStream(fileId, [{ "content_type": fileType, "metadata": { "fileName": fileName, "uploaded_at": (new Date()).toString() } }]);
    fs.createReadStream('/some/path').pipe(writestream);

    // streaming from gridfs
    var readstream = gfs.createReadStream(fileId, [{ "content_type": fileType, "metadata": { "fileName": fileName, "uploaded_at": (new Date()).toString() } }]);

    //error handling, e.g. file does not exist
    readstream.on('error', function (err) {
        console.log('An error occurred!', err);
        throw err;
    });

    readstream.pipe(response);
    console.log('upload done');

原文由 Anup 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

ObjectID 不是全局变量,它是由猫鼬定义的(参见 文档):

 var fileId = mongoose.Types.ObjectId();

原文由 Paul Mougel 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题