// route.js
var mongoose = require("mongoose");
var Posts = mongoose.model("posts")
...
Убедитесь, что вы настроили механизм начальной загрузки, который запускает все файлы вашей модели.Как только это будет сделано, вы должны были вызвать mongoose.model("name", Model)
для набора моделей.
Это кэшировало эти модели внутри Мангуста.Таким образом, вы можете просто позвонить mongoose.model("name")
куда угодно.
Единственное, что важно, это порядок выполнения.Модель и схемы должны быть зарегистрированы до запуска ваших маршрутов.
Это так просто:
// create app
var app = express.createServer(...);
// do stuff with app
var files = fs.readdirSync("models");
files.forEach(function(file) {
require("models/" + file);
});
var routes = fs.readdirSync("routes");
routes.forEach(function(route) {
require("routes/" + route)(app);
});
app.listen(80);
Обратите внимание, что обычно readdirSync
это зло, но можно блокироватьзвонки во время запуска (например, require
) перед прослушиванием вашего сервера