在多个文件中使用 Mongoose Schema (mongoose)
Posted
技术标签:
【中文标题】在多个文件中使用 Mongoose Schema (mongoose)【英文标题】:Use Mongoose Schema in Multiple Files (mongoose) 【发布时间】:2021-04-09 08:11:48 【问题描述】:我有两个文件我想在其中使用我的权限架构。但是我得到一个无法覆盖“示例”模型一旦编译错误。
问题:如何在我的两个 js 路由文件中使用我的权限架构?
这是我的问题(示例):
权限架构:
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const AccessSchema = new Schema(
listId: type: String, required: true ,
author: type: Boolean, requried: true,
completed: type: Boolean, required: true,
);
const accessSchema = mongoose.model("access", AccessSchema);
const UserPermissionsSchema = new Schema(
uID: type: String, required: true ,
access: [AccessSchema],
);
const userPermissionsSchema = mongoose.model("permissions", UserPermissionsSchema);
module.exports = //Am I exporting wrong?
Access: accessSchema,
Permissions: userPermissionsSchema,
;
File1 - 用户路由:
const router = require("express").Router();
const User = require("../models/user");
const Permissions = require("../models/permissions"); //first use
router.post("/users", (req, res) =>
Permissions.findOne(,).then(() => )
Users.findOne(,).then(() => )
);
module.exports = router;
File2 - 物品路径:
const router = require("express").Router();
const Permissions = require("../models/permissions"); //second use
router.post("/users", (req, res) =>
Permissions.findOne(, ).then(() => )
);
module.exports = router;
我是否要求和/或导出错误?是否可以在多个文件中使用模式?
【问题讨论】:
代码似乎正确。您的错误令人困惑。 是的,出于某种原因,只需要猫鼬修复它。 【参考方案1】:我找到了答案,我一整天都忽略了它,因为它为什么要修复它毫无意义......
无论如何,解决方法是添加:
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
到所有使用该架构的文件。同样,我不知道为什么会这样修复它,但确实如此。
【讨论】:
以上是关于在多个文件中使用 Mongoose Schema (mongoose)的主要内容,如果未能解决你的问题,请参考以下文章
使用 mongoose 在 mongodb 中保存多个字段数组
Mongoose 创建多个索引并个性化 quety 以使用特定索引调用