首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mongoose填充不适用于nextjs应用程序。架构尚未注册

Mongoose填充不适用于nextjs应用程序。架构尚未注册
EN

Stack Overflow用户
提问于 2021-07-28 18:12:59
回答 2查看 198关注 0票数 1

我一直在尝试用课程文档填充lessonIds列表。但我得到了一个错误,

Schema hasn't been registered for model \"Lesson\".\nUse mongoose.model(name, schema)

代码语言:javascript
运行
复制
if (req.method === "GET") {
    Course.findById(courseId)
        .populate('lessons').then(course => {
            res.json(course);
        }).catch(err => {
            res.json({ error: err.title + ' : ' + err.message });
        });
}

现在,如果我导入注册lessonSchema的课程模型,代码就可以工作了。但是我没有直接在这个文件中使用课程模型,所以我发现我不得不导入一些我不会使用的东西来使其他一些特性工作起来,这是很奇怪的。有没有合适的方法来做这件事?或者以某种方式在数据库连接时注册所有模型?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-07 19:37:30

最终创建了一个models.js inside models文件夹,该文件夹导入所有其他模型并导出它们,以确保模式被注册。

票数 0
EN

Stack Overflow用户

发布于 2021-08-05 06:16:11

我遇到了这个问题,多亏了https://stackoverflow.com/a/47038544/2865073,我才得以修复

我通过显式声明Model来修复它,如下所示:

代码语言:javascript
运行
复制
Customer.findOne({}).populate({ path: 'created_by', model: User })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68565474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档