Javascript 丢失模式错误:模式没有';未注册型号为“;标记器&x201D;
我正在从事一个使用Javascript、Node、CSS、HTML和谷歌地图的项目。 我最近遇到了这个错误=>MissingSchemaError:Schema尚未为模型“Marker”注册。我已经尽了我所能去解决它,但似乎什么都不管用 这是我的标记器的模型:Javascript 丢失模式错误:模式没有';未注册型号为“;标记器&x201D;,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,我正在从事一个使用Javascript、Node、CSS、HTML和谷歌地图的项目。 我最近遇到了这个错误=>MissingSchemaError:Schema尚未为模型“Marker”注册。我已经尽了我所能去解决它,但似乎什么都不管用 这是我的标记器的模型: const mongoose = require("mongoose"); const mongo = require("../connectors/mongo"); const Joi = require("Joi"); const
const mongoose = require("mongoose");
const mongo = require("../connectors/mongo");
const Joi = require("Joi");
const markerSchema = new mongoose.Schema(
{
_id: String,
lat: { type: Number, required: true },
lng: { type: Number, required: true },
date: { type: Date, default: Date.now, required: false },
pictures: { type: [String], required: true },
user_id: { type: String, required: true }
},
{ timestamps: true }
);
/* Create the model from the schema. */
const Marker = mongoose.model("Marker", markerSchema);
exports.Marker = Marker;
对于我的路线,我有一个文件夹routes,其中有一个文件夹标记和一个供用户使用的文件夹。
文件夹标记具有以下三个功能:
文件夹用户与此类似。
handlers.js:
const Marker = require("mongoose").model("Marker");
const find = (req, res) => {
...
};
...
module.exports = {
create,
deletion,
find,
findById,
update
};
index.js:
const checkAuth = require("../../middlewares/check-auth.js");
const handlers = require("./handlers");
const validators = require("./validators");
module.exports = router => {
router.get("/markers", checkAuth, validators.find, handlers.find);
router.post("/markers", checkAuth, validators.create, handlers.create);
router.get("/markers/:id", checkAuth, validators.find, handlers.findById);
router.put("/markers/:id", checkAuth, validators.update, handlers.update);
router.delete(
"/markers/:id",
checkAuth,
validators.deletion,
handlers.deletion
);
return router;
};
和validators.js
const { celebrate, Joi } = require("celebrate");
const find = celebrate({
...
});
...
module.exports = {
find,
findOne,
create,
update,
deletion
};
文件夹routes还有一个index.js,其中包含:
const markers = require("./markers");
const users = require("./users");
const resourceRoutes = [markers, users];
module.exports = router => {
resourceRoutes.forEach(routes => routes(router));
return router;
};
关于导致问题的原因有何建议?在模型文件的最后一行中,更改为:
module.exports = Marker
然后在逻辑文件的开头,而不是const Marker=require(“mongoose”).model(“Marker”)代码>只需要模型文件,如:
const Marker = require(PATH_TO_THE_MARKER_MODEL_FILE);
在模型文件的最后一行中,更改为:
module.exports = Marker
然后在逻辑文件的开头,而不是const Marker=require(“mongoose”).model(“Marker”)代码>只需要模型文件,如:
const Marker = require(PATH_TO_THE_MARKER_MODEL_FILE);
谢谢你的回复,我会试试这个!!谢谢你的回复,我会试试这个!!