my model schema
const mongoose = require('mongoose')
const GeoSchema = mongoose.Schema({
type: {
type: String,
enum: ['Point', 'LineString', 'Polygon'],
default: "Point"
},
coordinates: {
type: [Number],
index: "2dsphere"
}
})
const EventSchema = mongoose.Schema({
eventDate: {
type: Date
},
eventTitle: {
type: String,
required: true,
minlength: 3
},
eventDescription: {
type: String,
minlength: 3
},
eventImageUrl: {
type: String
},
eventLink: {
type: String
},
eventAudio: {
type: String
},
eventLocation: GeoSchema,
})
const StorySchema = mongoose.Schema({
storyTitle: {
type: String,
minlength: 5,
required: true
},
storySummary: {
type: String
},
storyImageUrl: {
type: String,
required: true
},
storyStatus: {
type: String,
default: 'public',
enum: ['public', 'private']
},
storyCreator: {
type: mongoose.Types.ObjectId,
// required: true,
ref: 'User'
},
storyReferences: [String],
storyTags: [String],
storyMapStyle: {
type: String,
default: 'mapbox://styles/mapbox/light-v9',
},
likes: [{
type: mongoose.Types.ObjectId,
ref: 'User'
}],
event: [ EventSchema ]
}, {timestamps: true})
module.exports = mongoose.model('Story', StorySchema)
routes
router.put('/:story_id/update', (req, res) => {
const {
eventDate,
eventTitle,
eventDescription,
eventImageUrl,
eventLink,
eventAudio } = req.body
console.log('eventDate',eventDate)
Story.findByIdAndUpdate(
{ _id: req.params.story_id},
{
$push:
{ event:
{
eventDate,
eventTitle,
eventDescription,
eventImageUrl,
eventLink,
eventAudio
}}
})
})