Node.js 尝试从其他文件加载模型时出现Mongoose错误

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模型写入一个单独的文件中,但遇到了一个错误

抛出新mongoose.Error.MissingSchemaError(名称)

MissingSchemaError:尚未为模型“购物车”注册架构。
使用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的新模型,这就是错误的来源)