Node.js 尝试从其他文件加载模型时出现Mongoose错误
我试图将mongoose模型写入一个单独的文件中,但遇到了一个错误 抛出新mongoose.Error.MissingSchemaError(名称) MissingSchemaError:尚未为模型“购物车”注册架构。Node.js 尝试从其他文件加载模型时出现Mongoose错误,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我试图将mongoose模型写入一个单独的文件中,但遇到了一个错误 抛出新mongoose.Error.MissingSchemaError(名称) MissingSchemaError:尚未为模型“购物车”注册架构。 使用mongoose.model(名称、模式) 在我的server.js文件中,我的mongo模型是在调用路由之前定义的。我环顾四周,发现在路由之后定义模型是导致此错误的原因,但我的情况并非如此 //Require db config require('./app_api/con
使用mongoose.model(名称、模式) 在我的server.js文件中,我的mongo模型是在调用路由之前定义的。我环顾四周,发现在路由之后定义模型是导致此错误的原因,但我的情况并非如此
//Require db config
require('./app_api/config/model.js');
//Require routes config
var routesAPI = require('./app_api/config/routes.js')
var app = express();
在model.js文件中,我需要单独的模式
var mongoose = require('mongoose');
var dbURI = 'mongodb://localhost/followdata';
mongoose.connect(dbURI);
// CONNECTION EVENTS
mongoose.connection.on('connected', function() {
console.log('Mongoose connected to ' + dbURI);
});
mongoose.connection.on('error', function(err) {
console.log('Mongoose connection error: ' + err);
});
mongoose.connection.on('disconnected', function() {
console.log('Mongoose disconnected');
});
// SCHEMA DECLERATION
require('../models/user');
require('../models/userCart');
所以我不确定问题出在哪里
这就是我尝试将购物车模型引入到用户模型模式的方式
var mongoose = require( 'mongoose' );
var jwt = require('jsonwebtoken');
var crypto = require('crypto');
var Cart = mongoose.model('Cart');
var Schema = mongoose.Schema;
var userSchema = new Schema({ ......... });
在我的userCart.js文件中,我正确地导出了它
module.exports = mongoose.model('Cart', cartSchema);
如果要在用户模型模式中使用它,则需要在
购物车模式中使用它
因此,您需要在用户模型模式文件中使用var-Cart=require('yourPathToCart/Cart')
而不是var-Cart=mongoose.model('Cart')
(前一行代码试图创建一个名为Cart的新模型,这就是错误的来源)