Почему мангуста меняет значение атрибутов даты? - PullRequest
0 голосов
/ 25 марта 2019

У меня есть модель с атрибутом даты, я получаю его значение из запроса на публикацию. У меня есть как минимум две проблемы:

  1. Mongoose принимает эти данные как дату: 19124-012-030
  2. Когда я отправляю только год, Mongoose заполняет месяц и день и изменяет значение года.

Я еще ничего не пробовал, в моей схеме нет подтверждения, я полагаюсь только на тип proprety (type: Date)

Схема

const mySchema = mongoose.Schema({
    ...
    date: {
     type: Date
    },
});

Форма

<input id="dat" type="text" name="date" placeholder="date (yyyy-mm-dd)">

Обработчик маршрута :

app.post("/api/exercise/add", function(req, res, next) {
    User
     .findById(req.body.userId)
     .exec()
     .then(function(user) {
       return Promise.all([user, new Exercise({
         description: req.body.description,
         duration: req.body.duration,
         date: req.body.date, //BUG: must add validations
         user: user
       }).save()]);
     })
     .then(function([user, exercise]) {
        user.exercises.push(exercise);
        return user.save();
     })
     .then(user => res.json({ status: 201, exercises: user.exercises }))
     .catch(err => next(err))
     });

(1) Ожидаемое значение 19124-012-030 должно вызвать ошибку, вместо этого объект сохраняется с: 19124-12-29T23:00:00.000+00:00 (2) Когда ввод только 11111, объект сохраняется с: 11110-12-31T23:00:00.000+00:00

Обновление Вопрос включен. Я не нашел ничего подобного. В документации MongoDB ничего не указано, чтобы помочь понять проблему.

...