const mongoose = require('mongoose'); const Schema = mongoose.Schema; mongoose.Promise = global.Promise; mongoose.level = "F"; const tools = require('../tools/general'); const { ObjectID } = require('mongodb'); // Resolving error Unknown modifier: $pushAll mongoose.plugin(schema => { schema.options.usePushEach = true }); const DisciplineSchema = new Schema({ idapp: { type: String, }, order: { type: Number, }, typol_code: { type: String, }, label: { type: String, }, description: { type: String, }, linkpage: { type: String, }, color: { type: String, }, icon: { type: String, }, img_small: { type: String, }, img: { type: String, }, showinnewsletter: { type: Boolean, }, showinhome: { type: Boolean, }, teachers: [{ username: { type: String, } }], }); DisciplineSchema.statics.findAllIdApp = function (idapp) { const Discipline = this; const query = [ { $match: { idapp } }, { $sort: { order: 1 } } ]; return Discipline .aggregate(query) .then((arrrec) => { return arrrec }) }; DisciplineSchema.statics.getFieldsForSearch = function () { return ['label', 'description'] }; DisciplineSchema.statics.executeQueryTable = function (idapp, params) { params.fieldsearch = this.getFieldsForSearch(); return tools.executeQueryTable(this, idapp, params); }; const Discipline = mongoose.model('Discipline', DisciplineSchema); module.exports = { Discipline };