【问题标题】:Use Mongoose Schema in Multiple Files (mongoose)在多个文件中使用 Mongoose Schema (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;

我是否要求和/或导出错误?是否可以在多个文件中使用模式?

【问题讨论】:

  • 代码似乎正确。您的错误令人困惑。
  • 是的,出于某种原因,只需要猫鼬修复它。

标签: javascript reactjs mongodb mongoose schema


【解决方案1】:

我找到了答案,我一整天都忽略了它,因为它为什么要修复它毫无意义......

无论如何,解决方法是添加:

var mongoose = require("mongoose");
var Schema = mongoose.Schema;
  • 到所有使用该架构的文件。同样,我不知道为什么会这样修复它,但确实如此。

【讨论】:

    猜你喜欢
    • 2012-12-26
    • 2018-12-30
    • 2021-07-31
    • 2021-10-21
    • 1970-01-01
    • 2014-11-13
    • 2016-06-22
    • 2020-09-26
    相关资源
    最近更新 更多