Правильная схема mongodb api для приложения панели инструментов - PullRequest
0 голосов
/ 06 августа 2020

Я работаю над API для своего веб-приложения. У пользователей будет простая панель управления, на которой после входа в систему они смогут устанавливать предупреждения и просматривать уведомления.

Я хотел бы знать, хорошо ли я думаю. Как вы видите на экране ниже, я хотел бы сохранить все данные в таблице пользователей, где каждый пользователь может настраивать свои собственные предупреждения и просматривать свои уведомления. Я также не уверен, как сохранить объект настроек в таблице пользователей, потому что, возможно, в будущем я хотел бы добавить другие параметры в объект настроек. Это хороший способ хранить настройки таким образом?

var Schema = mongoose.Schema;
var users = new Schema({
  email: {
    type: String,
    required: true
  },
  password: {
    type: String,
    required: true
  },
  twoFactorAuthenticationCode: {
    type: String,
    required: true
  },
  isTwoFactorAuthenticationEnabled: {
    type: String,
    required: true
  },
  notifications: {
    type: Schema.Types.ObjectId,
    ref: 'notifications'
  },
  alerts: {
    type: Schema.Types.ObjectId,
    ref: 'alerts'
  },
  settings: {
    showNotifications: {
      type: Boolean,
      required: true
    }
  }
});

var notifications = new Schema({
  text: {
    type: String,
    required: true
  }
});

var alerts = new Schema({
  type: {
    type: String,
    required: true
  },
 value: {
    type: String,
    required: true
  },
period: {
    type: String,
    required: true
  },
active: {
    type: Boolean,
    required: true
  },
valueType: {
    type: String,
    required: true
  },
destination: {
    type: String,
    required: true
  },
});

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...