猫鼬MissingSchemaError:尚未为模型注册架构

时间:2019-09-24 10:11:30

标签: node.js mongodb mongoose

我有一个带有用于后端和前端的单独文件夹的应用程序。文件结构如下所示:

/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。

我想念什么?

0 个答案:

没有答案