redhare-demo/models/Slider.js

50 lines
1.0 KiB
JavaScript

import mongoose from 'mongoose'
import basePlugin from './base_model'
const SliderSchema = new mongoose.Schema(
{
category_id: {
type: mongoose.Types.ObjectId,
ref: 'category',
required: true,
// get: v => v.toString(),
},
image: {
url: {
type: String,
required: true,
},
},
title: {
type: String,
required: true,
},
uri: {
type: String,
required: false,
},
isPublic: {
type: Boolean,
required: true,
default: true,
},
},
{ timestamps: true }
)
SliderSchema.plugin(basePlugin)
SliderSchema.post(/^find/, function (docs) {
if (this.op === 'find') {
docs.forEach(doc => {
doc._id = doc._id.toString()
doc.category_id = doc.category_id.toString()
})
}
if (this.op === 'findOne' && docs) {
docs._id = docs._id.toString()
docs.category_id = docs.category_id.toString()
}
})
const Slider = mongoose.models.slider || mongoose.model('slider', SliderSchema)
export default Slider