Я пытаюсь создать API для отдыха с помощью узла, экспресса и mongodb для веб-приложения, где у меня есть три маршрута или раздел на веб-интерфейсе
- Цитаты
- Истории
- Новости
Когда пользователь нажимает Цитаты, он видит только цитаты, то же самое касается историй и новостей.
Я запутался, как построить схему для такого рода API.
Это мой подход. Сначала я строю отдельные схемы для каждого раздела, затем объединяю их все в основную ApiSchema ... Я не уверен, что этот подход правильный
const mongoose = require('mongoose')
const Schema = mongoose.Schema
const QuotesSchema = new Schema({
author: {
type: String,
required: true
},
categories: {
type: [String],
required: true
}
})
module.exports = Quotes = mongoose.model('quotes', QuotesSchema)
const StoriesSchema = new Schema({
title: {
type: String,
required: true
},
description: {
type: String,
required: true
}
})
module.exports = Stories = mongoose.model('stories', StoriesSchema)
const NewsSchema = new Schema({
headline: {
type: String,
required: true
}
date: {
type: Date,
default: Date.now
}
})
module.exports = News = mongoose.model('news', NewsSchema)
const Quotes = require('./Quotes')
const Stories = require('./Stories')
const News = require('./News')
const ApiSchema = new Schema({
quotes: [Quotes],
Stories: [Stories],
News: [News]
})
module.exports = Api = mongoose.model('api', ApiSchema)
Я хочу свой APIкак приведенный ниже пример
[
{
quotes: [
{ author: 'John', quote: 'be happy', tags: ['life', 'heart'] },
{ author: 'Mark', quote: 'be creative', tags: ['motivation', 'education'] }
]
},
{
story: [
{ title: 'broken heart', description: 'sit ae Ipsa, laboriosam!', category: ['lorem1', 'lorem2'] },
{ title: 'lorem ipsum', description: 'Lorem ipsum dolor sit.', category: ['lorem1', 'lorem2'] }
]
},
{
news: [
{ headline: 'ipsum Lorem', city: 'Jehigi' },
{ headline: 'Lorem, ipsum', city: 'Fahmori' }
]
}
]
Я надеюсь, что все ясно.будет так любезно с вашей стороны, если вы поможете мне.