Формат даты в мангусте - PullRequest
0 голосов
/ 27 февраля 2020

Я создал серверную часть в TypeScript Node, которая взаимодействует с интерфейсом реагирования на машинопись. Схемы моделей для пользователей создаются с Mon goose, и каждый пользователь имеет:

  • Имя
  • Фамилия
  • электронная почта
  • Дата рождения
  • Время создания

Мне нужно изменить формат даты на «ДД-ММ-ГГГГ», чтобы она могла автоматически считываться в значении по умолчанию, когда пользователь обновлено / отредактировано.

Backend

user.ts

import * as mongoose from 'mongoose';

interface IUser {
    _id: string;
    firstName: string;
    lastName: string;
    email: string;
    dob: Date; // Date of Birth
    created: Date;
}

const UserSchema = new mongoose.Schema({
    firstName: String,
    lastName: String,
    email: String,
    dob: Date, // Date of Birth
    created: Date,
});

const UserModel = mongoose.model('User', UserSchema);

export { UserModel, IUser }

Frontend

Edit.tsx

<div className="form-group col-md-12">
    <label htmlFor="dob"> Date of Birth </label>
    <input 
        type="date" 
        id="dob" 
        defaultValue={moment(this.state.user.dob).format("DD-MM-YYYY")} 
        onChange={(e) => this.handleInputChanges(e)} 
        name="dob" 
        className="form-control" 
        placeholder="Enter customer's date of birth" 
    />
 </div>

На передней панели отображается вся информация о пользователе, когда я пытаюсь обновить ее, ожидайте дату, поскольку формат указан неверно.

Используется "2020-02-26T10: 22: 19.018Z". Необходимо использовать: "26-02-2020"

1 Ответ

0 голосов
/ 27 февраля 2020

Попробуйте это

db.getCollection('test').aggregate(
[
     {
       $project: {
           newDate: {
              $dateToString: {
                format: '%d-%m-%Y',
                date: '$date'
              }
            }

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