我有一个带有用于后端和前端的单独文件夹的应用程序。文件结构如下所示:
/root
backend.js
/models
Store.js
/frontend
frontend.js
当我在backend.js中使用商店模型时,一切正常。如果我想在frontend.js中使用商店模型,我会得到尚未为模型“商店”注册模式的信息。 在 backend.js 中,我只需要在连接到数据库后就需要模型:
require('./models/Store');
然后在代码中,我可以像使用
const Store = mongoose.model('Store');
在 frontend.js 中,需求如下所示:
require('../models/Store');
但是当我尝试使用模型const Store = mongoose.model('Store');
时,我得到了一个错误。
我已经尝试过这样要求:
const path = require('path');
require(path.resolve(__dirname, '../models/Store'));
并这样:
require('../models/Store')(mongoose);
但是这些似乎都无法解决问题。
奇怪的是,如果我做这样的事情:
const myStoreModel = require('../models/Store');
console.log(myStoreModel);
日志的结果为Model { Store }
。因此,看起来这条路径不错,并且Model也在那里,当我尝试使用它时,我会得到相同的MissingSchemaError。
我想念什么?