Я использую MongoDB и Node.js для моего API бэкэнда и Angular для моего внешнего интерфейса .
У меня есть две модели данных в Angular, одна из которых представляет данные, ожидаемые от пользовательского ввода, а другая представляет данные, ожидаемые API в моем бэкэнде.
class DataForm {
authorName: string;
wordEnglish: string;
wordExpanded?: string;
definition: string;
linkAuthoritative?: string;
linkWikipedia?: string;
linkYoutube?: string;
}
export class EnglishTermRequest {
constructor() {
this.languageCode = 'en';
}
wordEnglish: string;
wordNonEnglish: string;
wordExpanded: string;
languageCode: string;
image: string;
imageType: string;
audio: string;
audioType: string;
linkAuthoritative: string;
linkWikipedia: string;
linkYouTube: string;
authorName: string;
fieldOfStudy: string;
helpYes: number;
helpNo: number;
definitions: [DefinitionRequest];
}
Причина почему у меня есть две отдельные модели, так что я могу легко изменить входные данные, прежде чем сохранять их в модели, которую ожидает API.
У меня вопрос, что мне делать с пустыми или нулевыми значениями от пользователя ? Например, если пользователь не предоставляет ввод для одного из свойств, сейчас моя модель настроена так, что свойства не существуют в объекте.
dataForm = {
authorName : "Bob",
wordEnglish: "Hello",
definition: "Random definition aasdfjkad"
}
Если я сохраню это внутри Если для отправки запроса POST используется модель EnglishTermRequest, в этой модели будут отсутствовать свойства для wordExpanded , linkAuthoritative , et c.
Это нормально или я должен сделать Значения null или пустые строки (или любое значение по умолчанию типа)? Должна ли моя база данных MongoDB содержать все свойства, ожидаемые для каждой модели, или в ней могут отсутствовать свойства?