const mongoose = require('mongoose').set('debug', false) const Schema = mongoose.Schema; const tools = require('../tools/general'); mongoose.Promise = global.Promise; mongoose.level = "F"; // Resolving error Unknown modifier: $pushAll mongoose.plugin(schema => { schema.options.usePushEach = true }); const MyElemSchema = new Schema({ idapp: { type: String, }, type: { type: Number, }, title: { type: String, }, container: { type: String, }, container2: { type: String, }, container3: { type: String, }, number: { type: String, }, imgback: { type: String, }, ratio: { type: String, }, containerHtml: { type: String, }, size: { type: String, }, order: { type: Number, default: 0, }, height: { type: Number, }, heightimg: { type: Number, }, widthimg: { type: Number, }, width: { type: Number, }, link: { type: String, }, onlyif_logged: { type: Boolean, }, color: { type: String, }, active: { type: Boolean, }, class: { type: String, }, styleadd: { type: String, }, list: [ { imagefile: { type: String }, order: { type: Number }, alt: { type: String }, description: { type: String } } ], }); MyElemSchema.statics.getFieldsForSearch = function () { return [{ field: 'title', type: tools.FieldType.string }, { field: 'content', type: tools.FieldType.string }] }; MyElemSchema.statics.executeQueryTable = function (idapp, params, user) { params.fieldsearch = this.getFieldsForSearch(); return tools.executeQueryTable(this, idapp, params, user); }; MyElemSchema.statics.findAllIdApp = async function (idapp) { const MyElem = this; const myfind = { idapp }; return await MyElem.find(myfind).sort({ order: 1 }); }; const MyElem = mongoose.model('MyElem', MyElemSchema); module.exports = { MyElem };