Пн goose структура для нескольких языков - PullRequest
0 голосов
/ 01 апреля 2020

У меня проблема с четкой идеей структурирования моей модели, чтобы она могла работать с несколькими языками Допустим, у нас есть схема Пользователь :

const UserSchema = new Schema({
  firstName: { 
    en: { ... },
    fr: { ... },
 }
})

Теперь, скажем, во внешнем интерфейсе пользователь меняет язык приложения по умолчанию, я хочу иметь возможность возвращать пользователю только результат, соответствующий выбранному языку.

ex: если он выберет EN, я верну только firstName в EN

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

Спасибо, ребята.

1 Ответ

0 голосов
/ 01 апреля 2020

вы можете просто сделать свою модель такой, как эта

const UserSchema = new Schema({
   firstName: { 
    en: { ... },
    fr: { ... },
   }
   default_language: en
  })

, если вы хотите изменить обновление языка user.default_language, когда вы хотите отобразить first_name с этим языком, который вы можете сделать следующим образом (код режима с пн goose).

let userLanguage=User.findById(userid).select("default_language");
let user=User.findById(userid);
firstname=user.firstname.userLanguage.default_language;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...