Наследование всей схемы от BaseSchma от Mongoo и Mongoose - PullRequest
1 голос
/ 06 августа 2020

У меня есть BaseSchema в Node.js для использования MongoDB.

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
var util = require("util");

const BaseSchema = new Schema({
  owner: { type: String },
  updateDate: { type: String },
  updateBy: { type: String },
  deleteDate: { type: String },
  deleteby: { type: String },
  createDate: { type: String },
  createBy: { type: String },
});

util.inherits(BaseSchema, Schema);

, и мне нужно использовать его для всех Schema, чтобы установить все свойства BaseSchema для всей схемы.

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const uniqueString = require("unique-string");

const GenerSchema = Schema({
  name: { type: String, require: true },
  generPoster: { type: String, require: true },
  isDelete: { type: Boolean, default: false },
});

module.exports = mongoose.model("Gener", GenerSchema);

как я могу использовать BaseSchame во всех схемах ???

1 Ответ

2 голосов
/ 06 августа 2020

Создайте плагин:

module.exports = function BaseSchema(schema, options) {

    schema.add({
      owner: { type: String },
      updateDate: { type: String },
      updateBy: { type: String },
      deleteDate: { type: String },
      deleteby: { type: String },
      createDate: { type: String },
      createBy: { type: String },
    });

}

В Gener.js загрузите его

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const uniqueString = require("unique-string");
const BaseSchema = require('./BaseSchema');


const GenerSchema = Schema({
  name: { type: String, require: true },
  generPoster: { type: String, require: true },
  isDelete: { type: Boolean, default: false },
});

GenerSchema.plugin(BaseSchema);

module.exports = mongoose.model("Gener", GenerSchema);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...