Javascript 抛出新错误(';猫鼬未连接';); 因此,我尝试在express中使用mongoose gridfs模块,但在尝试运行express服务器时出现以下错误。
我的连接字符串是否正常,但我似乎无法理解。我真的需要帮助。谢谢大家 正如您从跟踪中看到的,当它尝试创建Javascript 抛出新错误(';猫鼬未连接';); 因此,我尝试在express中使用mongoose gridfs模块,但在尝试运行express服务器时出现以下错误。,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我的连接字符串是否正常,但我似乎无法理解。我真的需要帮助。谢谢大家 正如您从跟踪中看到的,当它尝试创建GridFSStorage实例并抛出错误时,会发生问题,因为mongoose尚未就绪: 错误:Mongoose未连接 在新建GridFSStorage(C:\Users\BARMAN\Documents\Codes\zubis mart\node) _modules\mongoose gridfs\lib\storage.js:43:11) 在连接gridfs之前,确保mongoose已连接到
GridFSStorage
实例并抛出错误时,会发生问题,因为mongoose尚未就绪:
错误:Mongoose未连接在新建GridFSStorage(C:\Users\BARMAN\Documents\Codes\zubis mart\node) _modules\mongoose gridfs\lib\storage.js:43:11)
在连接gridfs之前,确保mongoose已连接到db 下面是修复程序:
const express = require('express');
const bcrypt = require('bcryptjs');
const fs = require('fs');
const mongoose = require('mongoose');
const mongooseGridFS = require('mongoose-gridfs');
const multer = require('multer');
const passport = require('passport');
const config = require('../config/database');
mongoose.connect(config.database, {
useNewUrlParser: true
});
let conn = mongoose.connection;
conn.once('open', () => {
console.log('Database File Upload Connection Established Successfully.');
global.gridfs = mongooseGridFS({
collection: 'images',
model: 'Image',
mongooseConnection: conn
});
});
conn.on('error', (err) => {
console.log('File Connection Error... ' + err);
});
顺便说一句,我读到的精神错乱与你的问题完全一样,这是不正确的。
因为在源代码中,它会立即检查连接状态,这表明文档不正确。您应该确保先打开连接,然后初始化gridfs
conn.once('open', () => {
global.gridfs = mongooseGridFS({
collection: 'images',
model: 'Image',
mongooseConnection: conn
});
});
谢谢,这很有效。但是现在我无法从另一个块访问gridfs变量。那么如何访问用“global”关键字定义的变量呢?
const express = require('express');
const bcrypt = require('bcryptjs');
const fs = require('fs');
const mongoose = require('mongoose');
const mongooseGridFS = require('mongoose-gridfs');
const multer = require('multer');
const passport = require('passport');
const config = require('../config/database');
mongoose.connect(config.database, {
useNewUrlParser: true
});
let conn = mongoose.connection;
conn.once('open', () => {
console.log('Database File Upload Connection Established Successfully.');
global.gridfs = mongooseGridFS({
collection: 'images',
model: 'Image',
mongooseConnection: conn
});
});
conn.on('error', (err) => {
console.log('File Connection Error... ' + err);
});
conn.once('open', () => {
global.gridfs = mongooseGridFS({
collection: 'images',
model: 'Image',
mongooseConnection: conn
});
});