在没有架构参数的情况下使用 mongoose.model

Using mongoose.model without schema param

我正在学习这个 Node ToDoList 应用 API 教程。它有一个模型、一个控制器和一个路由文件: https://www.codementor.io/olatundegaruba/nodejs-restful-apis-in-10-minutes-q0sgsfhbd

回购: https://github.com/generalgmt/RESTfulAPITutorial

模型中,我们使用mongoose定义TaskSchema并导出mongoose.model('Tasks', TaskSchema);

在控制器中,我们创建一个 Task 变量,设置为 mongoose.model('Tasks', TaskSchema); 并使用它来定义多个控制器方法。

server.js 需要模型中的任务,但似乎从未将其用于任何用途。服务器还需要路由文件,而路由文件又需要控制器,但我看不出它们是如何与模型交互的。

应用程序的其余部分如何了解该模型?控制器如何知道任务的架构?这都是猫鼬的魔法吗?

在第 4 行的控制器中调用任务架构 https://github.com/generalgmt/RESTfulAPITutorial/blob/master/api/controllers/todoListController.js#L4

server.js 中要求的模型似乎没有使用。

Server.js 或路由不需要与架构交互,因为在任务构造函数中需要与架构交互所需的所有方法。控制器知道任务模式,因为它在控制器中是必需的。