Javascript 从Mongoo和Mongoose继承BaseSchma的所有模式

Javascript 从Mongoo和Mongoose继承BaseSchma的所有模式,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我在Node.js中有一个BaseSchema,用于使用MongoDB const mongoose = require("mongoose"); const Schema = mongoose.Schema; var util = require("util"); const BaseSchema = new Schema({ owner: { type: String }, updateDate: { type: String }, up

我在Node.js中有一个
BaseSchema
,用于使用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
使用它来设置所有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

创建插件:

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 },
    });

}
genr.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);