Схема Мангуста с вложенными свойствами в машинописи - PullRequest
0 голосов
/ 19 февраля 2019

Начиная с машинописного текста, я пытаюсь объявить схему Mongoose, которая выглядит примерно так:

User
{
    name : { type: String, required: true },
    ...
    credentials :
    {
        email : { type : String, required : true },
        password : { type : String, required : true },
    },
    ...
}

Я пробовал это:

import { Document, Types, Schema, Model, model } from "mongoose";

export interface ICredentials
{
    email?:string,
    password?:string,
}

export interface IUser extends Document
{
    name?:string;
    credentials?:ICredentials;
}

export var UserSchema:Schema = new Schema
({
    name            : { type : String, required : true },
    credentials     : 
    {
        email       : { type : String, required : true },
        password    : { type : String, required : true },
    },
});

export const User:Model<IUser> = model<IUser>("User", UserSchema);

Проблема, когда я хочу создатьновый пользователь, кажется, работает нормально.Но у него нет полномочий.Я пробовал U.credentials.email = "test@yopmail.com", но это не работает.Как я мог быть в состоянии сделать это?Я почти уверен, что мне нужно объявить класс, который реализует ICredentials, но я не знаком с машинописью.

...